badblocks: Fix crash when lots of -t patterns given

With more than 8 -t patterns given, badblocks will overwrite the
t_patts array boundary due to realloc not taking into account the size
of an int.  Oops.

Addresses-Debian-Bug: 487298

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
bitmap-optimize
Theodore Ts'o 2008-07-06 18:50:44 -04:00
parent 79e62409b3
commit 69d813520c
1 changed files with 2 additions and 1 deletions

View File

@ -995,7 +995,8 @@ int main (int argc, char ** argv)
if (t_flag + 1 > t_max) {
unsigned int *t_patts_new;
t_patts_new = realloc(t_patts, t_max + T_INC);
t_patts_new = realloc(t_patts, sizeof(int) *
(t_max + T_INC));
if (!t_patts_new) {
com_err(program_name, ENOMEM,
_("can't allocate memory for "