diff options
author | jsing <> | 2019-04-04 15:10:10 +0000 |
---|---|---|
committer | jsing <> | 2019-04-04 15:10:10 +0000 |
commit | b6ac68a69ed8702164355f316cabd6da89df4bee (patch) | |
tree | ac9ff68452cff7e823b17c9c9d95592c6a977e27 | |
parent | dd7144d9b81e4d15f6752ff79bd94ff90d2bc9c7 (diff) | |
download | openbsd-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.c | 7 |
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 | ||