diff options
author | tedu <> | 2014-05-17 17:35:04 +0000 |
---|---|---|
committer | tedu <> | 2014-05-17 17:35:04 +0000 |
commit | a0400d85abf0e363ba5b1fc257be8af941da409b (patch) | |
tree | 44c6b93c129b2a2b07f558a6f9db4bc7a169a9d6 /src | |
parent | 79e9593ed1ba7556673f2652fa981270f29b65f4 (diff) | |
download | openbsd-a0400d85abf0e363ba5b1fc257be8af941da409b.tar.gz openbsd-a0400d85abf0e363ba5b1fc257be8af941da409b.tar.bz2 openbsd-a0400d85abf0e363ba5b1fc257be8af941da409b.zip |
simple reallocarray to check multiplies. ok guenther
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libcrypto/stack/stack.c | 10 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/stack/stack.c | 10 |
2 files changed, 8 insertions, 12 deletions
diff --git a/src/lib/libcrypto/stack/stack.c b/src/lib/libcrypto/stack/stack.c index a409a7e967..0224bfce74 100644 --- a/src/lib/libcrypto/stack/stack.c +++ b/src/lib/libcrypto/stack/stack.c | |||
@@ -98,8 +98,7 @@ sk_dup(_STACK *sk) | |||
98 | 98 | ||
99 | if ((ret = sk_new(sk->comp)) == NULL) | 99 | if ((ret = sk_new(sk->comp)) == NULL) |
100 | goto err; | 100 | goto err; |
101 | s = (char **)realloc((char *)ret->data, | 101 | s = reallocarray(ret->data, sk->num_alloc, sizeof(char *)); |
102 | (unsigned int)sizeof(char *) * sk->num_alloc); | ||
103 | if (s == NULL) | 102 | if (s == NULL) |
104 | goto err; | 103 | goto err; |
105 | ret->data = s; | 104 | ret->data = s; |
@@ -131,7 +130,7 @@ sk_new(int (*c)(const void *, const void *)) | |||
131 | 130 | ||
132 | if ((ret = malloc(sizeof(_STACK))) == NULL) | 131 | if ((ret = malloc(sizeof(_STACK))) == NULL) |
133 | goto err; | 132 | goto err; |
134 | if ((ret->data = malloc(sizeof(char *) * MIN_NODES)) == NULL) | 133 | if ((ret->data = reallocarray(NULL, MIN_NODES, sizeof(char *))) == NULL) |
135 | goto err; | 134 | goto err; |
136 | for (i = 0; i < MIN_NODES; i++) | 135 | for (i = 0; i < MIN_NODES; i++) |
137 | ret->data[i] = NULL; | 136 | ret->data[i] = NULL; |
@@ -155,8 +154,7 @@ sk_insert(_STACK *st, void *data, int loc) | |||
155 | if (st == NULL) | 154 | if (st == NULL) |
156 | return 0; | 155 | return 0; |
157 | if (st->num_alloc <= st->num + 1) { | 156 | if (st->num_alloc <= st->num + 1) { |
158 | s = realloc((char *)st->data, | 157 | s = reallocarray(st->data, st->num_alloc, 2 * sizeof(char *)); |
159 | (unsigned int)sizeof(char *) * st->num_alloc * 2); | ||
160 | if (s == NULL) | 158 | if (s == NULL) |
161 | return (0); | 159 | return (0); |
162 | st->data = s; | 160 | st->data = s; |
@@ -296,7 +294,7 @@ sk_zero(_STACK *st) | |||
296 | return; | 294 | return; |
297 | if (st->num <= 0) | 295 | if (st->num <= 0) |
298 | return; | 296 | return; |
299 | memset((char *)st->data, 0, sizeof(st->data)*st->num); | 297 | memset(st->data, 0, sizeof(st->data)*st->num); |
300 | st->num = 0; | 298 | st->num = 0; |
301 | } | 299 | } |
302 | 300 | ||
diff --git a/src/lib/libssl/src/crypto/stack/stack.c b/src/lib/libssl/src/crypto/stack/stack.c index a409a7e967..0224bfce74 100644 --- a/src/lib/libssl/src/crypto/stack/stack.c +++ b/src/lib/libssl/src/crypto/stack/stack.c | |||
@@ -98,8 +98,7 @@ sk_dup(_STACK *sk) | |||
98 | 98 | ||
99 | if ((ret = sk_new(sk->comp)) == NULL) | 99 | if ((ret = sk_new(sk->comp)) == NULL) |
100 | goto err; | 100 | goto err; |
101 | s = (char **)realloc((char *)ret->data, | 101 | s = reallocarray(ret->data, sk->num_alloc, sizeof(char *)); |
102 | (unsigned int)sizeof(char *) * sk->num_alloc); | ||
103 | if (s == NULL) | 102 | if (s == NULL) |
104 | goto err; | 103 | goto err; |
105 | ret->data = s; | 104 | ret->data = s; |
@@ -131,7 +130,7 @@ sk_new(int (*c)(const void *, const void *)) | |||
131 | 130 | ||
132 | if ((ret = malloc(sizeof(_STACK))) == NULL) | 131 | if ((ret = malloc(sizeof(_STACK))) == NULL) |
133 | goto err; | 132 | goto err; |
134 | if ((ret->data = malloc(sizeof(char *) * MIN_NODES)) == NULL) | 133 | if ((ret->data = reallocarray(NULL, MIN_NODES, sizeof(char *))) == NULL) |
135 | goto err; | 134 | goto err; |
136 | for (i = 0; i < MIN_NODES; i++) | 135 | for (i = 0; i < MIN_NODES; i++) |
137 | ret->data[i] = NULL; | 136 | ret->data[i] = NULL; |
@@ -155,8 +154,7 @@ sk_insert(_STACK *st, void *data, int loc) | |||
155 | if (st == NULL) | 154 | if (st == NULL) |
156 | return 0; | 155 | return 0; |
157 | if (st->num_alloc <= st->num + 1) { | 156 | if (st->num_alloc <= st->num + 1) { |
158 | s = realloc((char *)st->data, | 157 | s = reallocarray(st->data, st->num_alloc, 2 * sizeof(char *)); |
159 | (unsigned int)sizeof(char *) * st->num_alloc * 2); | ||
160 | if (s == NULL) | 158 | if (s == NULL) |
161 | return (0); | 159 | return (0); |
162 | st->data = s; | 160 | st->data = s; |
@@ -296,7 +294,7 @@ sk_zero(_STACK *st) | |||
296 | return; | 294 | return; |
297 | if (st->num <= 0) | 295 | if (st->num <= 0) |
298 | return; | 296 | return; |
299 | memset((char *)st->data, 0, sizeof(st->data)*st->num); | 297 | memset(st->data, 0, sizeof(st->data)*st->num); |
300 | st->num = 0; | 298 | st->num = 0; |
301 | } | 299 | } |
302 | 300 | ||