Skip to content

Commit

Permalink
Fix last maybe uninit warnings on 7.4
Browse files Browse the repository at this point in the history
Most of these only occur under GCC 5. Not fond of all the workarounds
(especially the PDO one), but it gets us a clean build...
  • Loading branch information
nikic committed Apr 15, 2019
1 parent 908660c commit 7f6c22c
Show file tree
Hide file tree
Showing 7 changed files with 14 additions and 8 deletions.
4 changes: 2 additions & 2 deletions Zend/zend_vm_def.h
Expand Up @@ -7932,7 +7932,7 @@ ZEND_VM_HANDLER(157, ZEND_FETCH_CLASS_NAME, UNUSED|CLASS_FETCH, ANY)

ZEND_VM_HANDLER(158, ZEND_CALL_TRAMPOLINE, ANY, ANY)
{
zend_array *args;
zend_array *args = NULL;
zend_function *fbc = EX(func);
zval *ret = EX(return_value);
uint32_t call_info = EX_CALL_INFO() & (ZEND_CALL_NESTED | ZEND_CALL_TOP | ZEND_CALL_RELEASE_THIS);
Expand Down Expand Up @@ -7963,7 +7963,7 @@ ZEND_VM_HANDLER(158, ZEND_CALL_TRAMPOLINE, ANY, ANY)
ZEND_CALL_NUM_ARGS(call) = 2;

ZVAL_STR(ZEND_CALL_ARG(call, 1), fbc->common.function_name);
if (num_args) {
if (args) {
ZVAL_ARR(ZEND_CALL_ARG(call, 2), args);
} else {
ZVAL_EMPTY_ARRAY(ZEND_CALL_ARG(call, 2));
Expand Down
4 changes: 2 additions & 2 deletions Zend/zend_vm_execute.h
Expand Up @@ -2134,7 +2134,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSERT_CHECK_SPEC_HANDLER(ZEND

static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CALL_TRAMPOLINE_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_array *args;
zend_array *args = NULL;
zend_function *fbc = EX(func);
zval *ret = EX(return_value);
uint32_t call_info = EX_CALL_INFO() & (ZEND_CALL_NESTED | ZEND_CALL_TOP | ZEND_CALL_RELEASE_THIS);
Expand Down Expand Up @@ -2165,7 +2165,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CALL_TRAMPOLINE_SPEC_HANDLER(Z
ZEND_CALL_NUM_ARGS(call) = 2;

ZVAL_STR(ZEND_CALL_ARG(call, 1), fbc->common.function_name);
if (num_args) {
if (args) {
ZVAL_ARR(ZEND_CALL_ARG(call, 2), args);
} else {
ZVAL_EMPTY_ARRAY(ZEND_CALL_ARG(call, 2));
Expand Down
2 changes: 1 addition & 1 deletion ext/pdo/pdo_stmt.c
Expand Up @@ -819,7 +819,7 @@ static int do_fetch(pdo_stmt_t *stmt, int do_bind, zval *return_value, enum pdo_
{
int flags, idx, old_arg_count = 0;
zend_class_entry *ce = NULL, *old_ce = NULL;
zval grp_val, *pgrp, retval, old_ctor_args;
zval grp_val, *pgrp, retval, old_ctor_args = {0};
int colno;

if (how == PDO_FETCH_USE_DEFAULT) {
Expand Down
6 changes: 4 additions & 2 deletions ext/simplexml/simplexml.c
Expand Up @@ -1016,6 +1016,7 @@ static int sxe_prop_is_empty(zval *object) /* {{{ */
zval iter_data;
int test;
int is_empty;
int use_iter = 0;

sxe = Z_SXEOBJ_P(object);

Expand Down Expand Up @@ -1052,6 +1053,7 @@ static int sxe_prop_is_empty(zval *object) /* {{{ */
ZVAL_COPY_VALUE(&iter_data, &sxe->iter.data);
ZVAL_UNDEF(&sxe->iter.data);
node = php_sxe_reset_iterator(sxe, 0);
use_iter = 1;
}
}

Expand Down Expand Up @@ -1080,15 +1082,15 @@ static int sxe_prop_is_empty(zval *object) /* {{{ */
is_empty = 0;
break;
next_iter:
if (!Z_ISUNDEF(iter_data)) {
if (use_iter) {
node = php_sxe_iterator_fetch(sxe, node->next, 0);
} else {
node = node->next;
}
}
}

if (!Z_ISUNDEF(iter_data)) {
if (use_iter) {
if (!Z_ISUNDEF(sxe->iter.data)) {
zval_ptr_dtor(&sxe->iter.data);
}
Expand Down
3 changes: 3 additions & 0 deletions ext/sockets/conversions.c
Expand Up @@ -701,6 +701,9 @@ static void from_zval_write_sockaddr_aux(const zval *container,
zval *elem;
int fill_sockaddr;

*sockaddr_ptr = NULL;
*sockaddr_len = 0;

if (Z_TYPE_P(container) != IS_ARRAY) {
do_from_zval_err(ctx, "%s", "expected an array here");
return;
Expand Down
2 changes: 1 addition & 1 deletion ext/standard/php_fopen_wrapper.c
Expand Up @@ -181,7 +181,7 @@ php_stream * php_stream_url_wrap_php(php_stream_wrapper *wrapper, const char *pa
int fd = -1;
int mode_rw = 0;
php_stream * stream = NULL;
char *p, *token, *pathdup;
char *p, *token = NULL, *pathdup;
zend_long max_memory;
FILE *file = NULL;
#ifdef PHP_WIN32
Expand Down
1 change: 1 addition & 0 deletions sapi/cli/php_cli_server.c
Expand Up @@ -1448,6 +1448,7 @@ static void normalize_vpath(char **retval, size_t *retval_len, const char *vpath
char *p;

*retval = NULL;
*retval_len = 0;

decoded_vpath = pestrndup(vpath, vpath_len, persistent);
if (!decoded_vpath) {
Expand Down

0 comments on commit 7f6c22c

Please sign in to comment.