summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsing <>2019-04-04 15:10:10 +0000
committerjsing <>2019-04-04 15:10:10 +0000
commitb6ac68a69ed8702164355f316cabd6da89df4bee (patch)
treeac9ff68452cff7e823b17c9c9d95592c6a977e27
parentdd7144d9b81e4d15f6752ff79bd94ff90d2bc9c7 (diff)
downloadopenbsd-b6ac68a69ed8702164355f316cabd6da89df4bee.tar.gz
openbsd-b6ac68a69ed8702164355f316cabd6da89df4bee.tar.bz2
openbsd-b6ac68a69ed8702164355f316cabd6da89df4bee.zip
Only assign destlen when src is non-NULL.
This avoids ever having a non-zero len with a NULL pointer.
-rw-r--r--src/lib/libtls/tls_util.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/libtls/tls_util.c b/src/lib/libtls/tls_util.c
index b964f65121..3ca3ecad0b 100644
--- a/src/lib/libtls/tls_util.c
+++ b/src/lib/libtls/tls_util.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tls_util.c,v 1.12 2018/02/08 07:55:29 jsing Exp $ */ 1/* $OpenBSD: tls_util.c,v 1.13 2019/04/04 15:10:10 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org>
4 * Copyright (c) 2014 Ted Unangst <tedu@openbsd.org> 4 * Copyright (c) 2014 Ted Unangst <tedu@openbsd.org>
@@ -43,10 +43,11 @@ tls_set_mem(char **dest, size_t *destlen, const void *src, size_t srclen)
43 free(*dest); 43 free(*dest);
44 *dest = NULL; 44 *dest = NULL;
45 *destlen = 0; 45 *destlen = 0;
46 if (src != NULL) 46 if (src != NULL) {
47 if ((*dest = memdup(src, srclen)) == NULL) 47 if ((*dest = memdup(src, srclen)) == NULL)
48 return -1; 48 return -1;
49 *destlen = srclen; 49 *destlen = srclen;
50 }
50 return 0; 51 return 0;
51} 52}
52 53