summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/objects
diff options
context:
space:
mode:
authorderaadt <>2014-05-29 21:07:43 +0000
committerderaadt <>2014-05-29 21:07:43 +0000
commit3d662abca6b2a7f5bc9108b036434d61fcdb6e53 (patch)
treed5fe0c330801f3e72c7b588264c6027636db4330 /src/lib/libcrypto/objects
parentd205a2aecb99564cccfbea61c39ebe3b0ddd7fb7 (diff)
downloadopenbsd-3d662abca6b2a7f5bc9108b036434d61fcdb6e53.tar.gz
openbsd-3d662abca6b2a7f5bc9108b036434d61fcdb6e53.tar.bz2
openbsd-3d662abca6b2a7f5bc9108b036434d61fcdb6e53.zip
convert 53 malloc(a*b) to reallocarray(NULL, a, b). that is 53
potential integer overflows easily changed into an allocation return of NULL, with errno nicely set if need be. checks for an allocations returning NULL are commonplace, or if the object is dereferenced (quite normal) will result in a nice fault which can be detected & repaired properly. ok tedu
Diffstat (limited to 'src/lib/libcrypto/objects')
-rw-r--r--src/lib/libcrypto/objects/o_names.c3
-rw-r--r--src/lib/libcrypto/objects/obj_xref.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/libcrypto/objects/o_names.c b/src/lib/libcrypto/objects/o_names.c
index 196d3ab0a7..169b8ae87d 100644
--- a/src/lib/libcrypto/objects/o_names.c
+++ b/src/lib/libcrypto/objects/o_names.c
@@ -292,7 +292,8 @@ OBJ_NAME_do_all_sorted(int type, void (*fn)(const OBJ_NAME *, void *arg),
292 int n; 292 int n;
293 293
294 d.type = type; 294 d.type = type;
295 d.names = malloc(lh_OBJ_NAME_num_items(names_lh)*sizeof *d.names); 295 d.names = reallocarray(NULL, lh_OBJ_NAME_num_items(names_lh),
296 sizeof *d.names);
296 d.n = 0; 297 d.n = 0;
297 OBJ_NAME_do_all(type, do_all_sorted_fn, &d); 298 OBJ_NAME_do_all(type, do_all_sorted_fn, &d);
298 299
diff --git a/src/lib/libcrypto/objects/obj_xref.c b/src/lib/libcrypto/objects/obj_xref.c
index 25aed74ff1..8e9128efc4 100644
--- a/src/lib/libcrypto/objects/obj_xref.c
+++ b/src/lib/libcrypto/objects/obj_xref.c
@@ -164,7 +164,7 @@ OBJ_add_sigid(int signid, int dig_id, int pkey_id)
164 sigx_app = sk_nid_triple_new(sigx_cmp); 164 sigx_app = sk_nid_triple_new(sigx_cmp);
165 if (!sigx_app) 165 if (!sigx_app)
166 return 0; 166 return 0;
167 ntr = malloc(sizeof(int) * 3); 167 ntr = reallocarray(NULL, sizeof(int), 3);
168 if (!ntr) 168 if (!ntr)
169 return 0; 169 return 0;
170 ntr->sign_id = signid; 170 ntr->sign_id = signid;