Browse Source

Fixed bug that may dereferenced NULL pointer before checking

pull/7/head
Xinchen Hui 15 years ago
parent
commit
a35462c71c
  1. 12
      ext/standard/basic_functions.c

12
ext/standard/basic_functions.c

@ -4282,15 +4282,15 @@ PHP_FUNCTION(getopt)
/* the first <len> slots are filled by the one short ops
* we now extend our array and jump to the new added structs */
opts = (opt_struct *) erealloc(opts, sizeof(opt_struct) * (len + count + 1));
if (!opts) {
RETURN_FALSE;
}
orig_opts = opts;
opts += len;
memset(opts, 0, count * sizeof(opt_struct));
if (!opts) {
RETURN_FALSE;
}
/* Reset the array indexes. */
zend_hash_internal_pointer_reset(Z_ARRVAL_P(p_longopts));
@ -4327,6 +4327,10 @@ PHP_FUNCTION(getopt)
}
} else {
opts = (opt_struct*) erealloc(opts, sizeof(opt_struct) * (len + 1));
if (!opts) {
RETURN_FALSE;
}
orig_opts = opts;
opts += len;
}

Loading…
Cancel
Save