diff options
Diffstat (limited to 'ext/standard/basic_functions.c')
-rw-r--r-- | ext/standard/basic_functions.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index cca7d8385a..3b604efe2a 100644 --- a/ext/standard/basic_functions.c +++ b/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,10 +4327,6 @@ PHP_FUNCTION(getopt) } } else { opts = (opt_struct*) erealloc(opts, sizeof(opt_struct) * (len + 1)); - if (!opts) { - RETURN_FALSE; - } - orig_opts = opts; opts += len; } |