diff options
author | Doug Hogan <doug@cvs.openbsd.org> | 2014-10-08 04:06:24 +0000 |
---|---|---|
committer | Doug Hogan <doug@cvs.openbsd.org> | 2014-10-08 04:06:24 +0000 |
commit | 60e299c97f380e465fdfb1e15b15c5c20ff6d47e (patch) | |
tree | 4441249d77aa95f3d817e492dabf65044c08a95d | |
parent | bc5038f9a5986d5bf1b73b523c37fc2306941aca (diff) |
userland reallocarray audit.
Replace malloc() and realloc() calls that may have integer overflow in the
multiplication of the size argument with reallocarray().
ok deraadt@
-rw-r--r-- | usr.bin/patch/inp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.bin/patch/inp.c b/usr.bin/patch/inp.c index 67cc3a83d72..15712c9d926 100644 --- a/usr.bin/patch/inp.c +++ b/usr.bin/patch/inp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: inp.c,v 1.37 2013/11/26 13:19:07 deraadt Exp $ */ +/* $OpenBSD: inp.c,v 1.38 2014/10/08 04:06:23 doug Exp $ */ /* * patch - a program to apply diffs to original files @@ -111,7 +111,7 @@ reallocate_lines(size_t *lines_allocated) size_t new_size; new_size = *lines_allocated * 3 / 2; - p = realloc(i_ptr, (new_size + 2) * sizeof(char *)); + p = reallocarray(i_ptr, new_size + 2, sizeof(char *)); if (p == NULL) { /* shucks, it was a near thing */ munmap(i_womp, i_size); i_womp = NULL; |