diff options
| author | jsing <> | 2019-04-04 15:10:10 +0000 | 
|---|---|---|
| committer | jsing <> | 2019-04-04 15:10:10 +0000 | 
| commit | 5dd1c6b96f9dc9a54b9f610ec892e291593d83b6 (patch) | |
| tree | ac9ff68452cff7e823b17c9c9d95592c6a977e27 /src/lib/libtls/tls_util.c | |
| parent | d78a2d21e1c60e919ea9d18b07218205a8401e80 (diff) | |
| download | openbsd-5dd1c6b96f9dc9a54b9f610ec892e291593d83b6.tar.gz openbsd-5dd1c6b96f9dc9a54b9f610ec892e291593d83b6.tar.bz2 openbsd-5dd1c6b96f9dc9a54b9f610ec892e291593d83b6.zip | |
Only assign destlen when src is non-NULL.
This avoids ever having a non-zero len with a NULL pointer.
Diffstat (limited to '')
| -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 | ||
