summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordoug <>2015-04-29 01:16:06 +0000
committerdoug <>2015-04-29 01:16:06 +0000
commitaa2d9cda16e2ed9c9e86c67f6d2710e219278e66 (patch)
treea3c8f2408f6492c9b9124f6a5bb0594bb5cf3428 /src
parent0f00fd11c521724cc0763feed192676c04edcbed (diff)
downloadopenbsd-aa2d9cda16e2ed9c9e86c67f6d2710e219278e66.tar.gz
openbsd-aa2d9cda16e2ed9c9e86c67f6d2710e219278e66.tar.bz2
openbsd-aa2d9cda16e2ed9c9e86c67f6d2710e219278e66.zip
free() can handle NULL.
ok jsing@
Diffstat (limited to 'src')
-rw-r--r--src/lib/libssl/bs_cbs.c12
-rw-r--r--src/lib/libssl/src/ssl/bs_cbs.c12
2 files changed, 8 insertions, 16 deletions
diff --git a/src/lib/libssl/bs_cbs.c b/src/lib/libssl/bs_cbs.c
index d7c0977cf3..25305b9edd 100644
--- a/src/lib/libssl/bs_cbs.c
+++ b/src/lib/libssl/bs_cbs.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bs_cbs.c,v 1.3 2015/04/25 15:28:47 doug Exp $ */ 1/* $OpenBSD: bs_cbs.c,v 1.4 2015/04/29 01:16:06 doug Exp $ */
2/* 2/*
3 * Copyright (c) 2014, Google Inc. 3 * Copyright (c) 2014, Google Inc.
4 * 4 *
@@ -65,10 +65,8 @@ CBS_len(const CBS *cbs)
65int 65int
66CBS_stow(const CBS *cbs, uint8_t **out_ptr, size_t *out_len) 66CBS_stow(const CBS *cbs, uint8_t **out_ptr, size_t *out_len)
67{ 67{
68 if (*out_ptr != NULL) { 68 free(*out_ptr);
69 free(*out_ptr); 69 *out_ptr = NULL;
70 *out_ptr = NULL;
71 }
72 *out_len = 0; 70 *out_len = 0;
73 71
74 if (cbs->len == 0) 72 if (cbs->len == 0)
@@ -85,9 +83,7 @@ CBS_stow(const CBS *cbs, uint8_t **out_ptr, size_t *out_len)
85int 83int
86CBS_strdup(const CBS *cbs, char **out_ptr) 84CBS_strdup(const CBS *cbs, char **out_ptr)
87{ 85{
88 if (*out_ptr != NULL) 86 free(*out_ptr);
89 free(*out_ptr);
90
91 *out_ptr = strndup((const char*)cbs->data, cbs->len); 87 *out_ptr = strndup((const char*)cbs->data, cbs->len);
92 return (*out_ptr != NULL); 88 return (*out_ptr != NULL);
93} 89}
diff --git a/src/lib/libssl/src/ssl/bs_cbs.c b/src/lib/libssl/src/ssl/bs_cbs.c
index d7c0977cf3..25305b9edd 100644
--- a/src/lib/libssl/src/ssl/bs_cbs.c
+++ b/src/lib/libssl/src/ssl/bs_cbs.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bs_cbs.c,v 1.3 2015/04/25 15:28:47 doug Exp $ */ 1/* $OpenBSD: bs_cbs.c,v 1.4 2015/04/29 01:16:06 doug Exp $ */
2/* 2/*
3 * Copyright (c) 2014, Google Inc. 3 * Copyright (c) 2014, Google Inc.
4 * 4 *
@@ -65,10 +65,8 @@ CBS_len(const CBS *cbs)
65int 65int
66CBS_stow(const CBS *cbs, uint8_t **out_ptr, size_t *out_len) 66CBS_stow(const CBS *cbs, uint8_t **out_ptr, size_t *out_len)
67{ 67{
68 if (*out_ptr != NULL) { 68 free(*out_ptr);
69 free(*out_ptr); 69 *out_ptr = NULL;
70 *out_ptr = NULL;
71 }
72 *out_len = 0; 70 *out_len = 0;
73 71
74 if (cbs->len == 0) 72 if (cbs->len == 0)
@@ -85,9 +83,7 @@ CBS_stow(const CBS *cbs, uint8_t **out_ptr, size_t *out_len)
85int 83int
86CBS_strdup(const CBS *cbs, char **out_ptr) 84CBS_strdup(const CBS *cbs, char **out_ptr)
87{ 85{
88 if (*out_ptr != NULL) 86 free(*out_ptr);
89 free(*out_ptr);
90
91 *out_ptr = strndup((const char*)cbs->data, cbs->len); 87 *out_ptr = strndup((const char*)cbs->data, cbs->len);
92 return (*out_ptr != NULL); 88 return (*out_ptr != NULL);
93} 89}