diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-08-06 08:44:09 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-08-06 08:44:09 +0000 |
commit | 728161b5564afb94c5518fc440e8152f01e46068 (patch) | |
tree | 325785cd27c540e7a3827cbd621a6b54cd5c68b1 /libbb/xrealloc_vector.c | |
parent | 9ddc0045ec1ae648cfd510b95621d1f7a729a85c (diff) | |
download | busybox-w32-728161b5564afb94c5518fc440e8152f01e46068.tar.gz busybox-w32-728161b5564afb94c5518fc440e8152f01e46068.tar.bz2 busybox-w32-728161b5564afb94c5518fc440e8152f01e46068.zip |
fix bug 4464 for real. I am dumb.
Diffstat (limited to 'libbb/xrealloc_vector.c')
-rw-r--r-- | libbb/xrealloc_vector.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/libbb/xrealloc_vector.c b/libbb/xrealloc_vector.c index 43c34b720..bbd5ab8ac 100644 --- a/libbb/xrealloc_vector.c +++ b/libbb/xrealloc_vector.c | |||
@@ -39,8 +39,7 @@ void* FAST_FUNC xrealloc_vector_helper(void *vector, unsigned sizeof_and_shift, | |||
39 | if (!(idx & (mask - 1))) { | 39 | if (!(idx & (mask - 1))) { |
40 | sizeof_and_shift >>= 8; /* sizeof(vector[0]) */ | 40 | sizeof_and_shift >>= 8; /* sizeof(vector[0]) */ |
41 | vector = xrealloc(vector, sizeof_and_shift * (idx + mask + 1)); | 41 | vector = xrealloc(vector, sizeof_and_shift * (idx + mask + 1)); |
42 | vector = (char*)vector + (sizeof_and_shift * idx); | 42 | memset((char*)vector + (sizeof_and_shift * idx), 0, sizeof_and_shift * (mask + 1)); |
43 | memset(vector, 0, sizeof_and_shift * (mask + 1)); | ||
44 | } | 43 | } |
45 | return vector; | 44 | return vector; |
46 | } | 45 | } |