diff --git a/ext/fileinfo/libmagic.patch b/ext/fileinfo/libmagic.patch index ced3b2bb517..97e771e9202 100644 --- a/ext/fileinfo/libmagic.patch +++ b/ext/fileinfo/libmagic.patch @@ -2978,7 +2978,7 @@ diff -u libmagic.orig/readelf.h libmagic/readelf.h typedef uint8_t Elf64_Char; diff -u libmagic.orig/softmagic.c libmagic/softmagic.c --- libmagic.orig/softmagic.c 2013-03-21 18:45:14.000000000 +0100 -+++ libmagic/softmagic.c 2013-04-08 15:42:57.328298809 +0200 ++++ libmagic/softmagic.c 2013-05-14 11:00:07.044745939 +0200 @@ -41,6 +41,11 @@ #include #include @@ -3123,7 +3123,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c } } -@@ -1717,9 +1694,9 @@ +@@ -1717,12 +1694,12 @@ ms->o.buf = sbuf; ms->offset = soffset; if (rv == 1) { @@ -3134,7 +3134,11 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c + return -1; if (file_printf(ms, "%s", rbuf) == -1) return -1; - free(rbuf); +- free(rbuf); ++ efree(rbuf); + } + return rv; + @@ -1837,6 +1814,42 @@ return file_strncmp(a, b, len, flags); } diff --git a/ext/fileinfo/libmagic/softmagic.c b/ext/fileinfo/libmagic/softmagic.c index c69fdb5a3e5..1e7dbf7449a 100644 --- a/ext/fileinfo/libmagic/softmagic.c +++ b/ext/fileinfo/libmagic/softmagic.c @@ -1699,7 +1699,7 @@ mget(struct magic_set *ms, const unsigned char *s, struct magic *m, return -1; if (file_printf(ms, "%s", rbuf) == -1) return -1; - free(rbuf); + efree(rbuf); } return rv; diff --git a/ext/fileinfo/tests/finfo_file_002.phpt b/ext/fileinfo/tests/finfo_file_002.phpt index 3593233c399..feb4010f74b 100644 --- a/ext/fileinfo/tests/finfo_file_002.phpt +++ b/ext/fileinfo/tests/finfo_file_002.phpt @@ -18,7 +18,7 @@ ksort($results); var_dump($results); ?> --EXPECTF-- -array(7) { +array(8) { ["%s/resources/dir.zip"]=> string(15) "application/zip" ["%s/resources/test.awk"]=> @@ -29,6 +29,8 @@ array(7) { string(9) "image/gif" ["%s/resources/test.jpg"]=> string(10) "image/jpeg" + ["%s/resources/test.mp3"]=> + string(10) "audio/mpeg" ["%s/resources/test.pdf"]=> string(15) "application/pdf" ["%s/resources/test.png"]=> diff --git a/ext/fileinfo/tests/resources/test.mp3 b/ext/fileinfo/tests/resources/test.mp3 new file mode 100644 index 00000000000..0b534374b3a Binary files /dev/null and b/ext/fileinfo/tests/resources/test.mp3 differ diff --git a/ext/gd/config.w32 b/ext/gd/config.w32 index e6fbc49ea23..1420b11e6e9 100644 --- a/ext/gd/config.w32 +++ b/ext/gd/config.w32 @@ -69,7 +69,7 @@ if (PHP_GD != "no") { /D HAVE_GD_WBMP \ /D HAVE_GD_XBM \ /D HAVE_GD_XPM \ -/D HAVE_LIBFREETYPE=1 \ +/D HAVE_GD_FREETYPE=1 \ /D HAVE_LIBGD13=1 \ /D HAVE_LIBGD15=1 \ /D HAVE_LIBGD20=1 \ diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c index a41f2a5cb9c..ba81a95e5f2 100644 --- a/ext/mysql/php_mysql.c +++ b/ext/mysql/php_mysql.c @@ -720,7 +720,7 @@ PHP_MINFO_FUNCTION(mysql) static void php_mysql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) { char *user=NULL, *passwd=NULL, *host_and_port=NULL, *socket=NULL, *tmp=NULL, *host=NULL; - int user_len, passwd_len, host_len; + int user_len = 0, passwd_len = 0, host_len = 0; char *hashed_details=NULL; int hashed_details_length, port = MYSQL_PORT; long client_flags = 0; diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c index d14b6168273..4dd1a409f68 100644 --- a/ext/mysqli/mysqli.c +++ b/ext/mysqli/mysqli.c @@ -842,7 +842,7 @@ PHP_MINIT_FUNCTION(mysqli) REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_BACKUP_LOG", REFRESH_BACKUP_LOG, CONST_CS | CONST_PERSISTENT); #endif -#if MYSQL_VERSION_ID >= 50611 || defined(MYSQLI_USE_MYSQLND) +#if (MYSQL_VERSION_ID >= 50611 && defined(CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS)) || defined(MYSQLI_USE_MYSQLND) REGISTER_LONG_CONSTANT("MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS", MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS, CONST_CS | CONST_PERSISTENT); #endif diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c index 3d651fc2047..3ee5c803a55 100644 --- a/ext/mysqli/mysqli_api.c +++ b/ext/mysqli/mysqli_api.c @@ -1698,7 +1698,7 @@ static int mysqli_options_get_option_zval_type(int option) #ifdef MYSQL_OPT_SSL_VERIFY_SERVER_CERT REGISTER_LONG_CONSTANT("MYSQLI_OPT_SSL_VERIFY_SERVER_CERT", MYSQL_OPT_SSL_VERIFY_SERVER_CERT, CONST_CS | CONST_PERSISTENT); #endif /* MySQL 5.1.1., mysqlnd @ PHP 5.3.3 */ -#if MYSQL_VERSION_ID >= 50611 || defined(MYSQLI_USE_MYSQLND) +#if (MYSQL_VERSION_ID >= 50611 && defined(CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS)) || defined(MYSQLI_USE_MYSQLND) case MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS: #endif return IS_LONG; diff --git a/ext/mysqli/tests/mysqli_expire_password.phpt b/ext/mysqli/tests/mysqli_expire_password.phpt index ce89a216707..4fdf902c79e 100644 --- a/ext/mysqli/tests/mysqli_expire_password.phpt +++ b/ext/mysqli/tests/mysqli_expire_password.phpt @@ -127,11 +127,11 @@ if (!mysqli_query($link, sprintf("GRANT SELECT ON TABLE %s.test TO expiretest@'% ?> --EXPECTF-- -Warning: mysqli_real_connect(): (HY000/1820): %s in %s on line %d -[001] Cannot connect [1820] %s +Warning: mysqli_real_connect(): (HY000/1862): %s in %s on line %d +[001] Cannot connect [1862] %s -Warning: mysqli_real_connect(): (HY000/1820): %s in %s on line %d -[003] Cannot connect [1820] %s +Warning: mysqli_real_connect(): (HY000/1862): %s in %s on line %d +[003] Cannot connect [1862] %s [006] Connect allowed, query fail, [1820] %s [008] Connect allowed, pw set, [0%A array(1) { diff --git a/ext/standard/array.c b/ext/standard/array.c index cfe9be8552e..9bfb0887ac2 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -2608,11 +2608,9 @@ PHP_FUNCTION(array_column) } else if (zkeyval && Z_TYPE_PP(zkeyval) == IS_LONG) { add_index_zval(return_value, Z_LVAL_PP(zkeyval), *zcolval); } else if (zkeyval && Z_TYPE_PP(zkeyval) == IS_OBJECT) { - zval copyval; - ZVAL_ZVAL(©val, *zkeyval, 1, 0); - convert_to_string(©val); - add_assoc_zval(return_value, Z_STRVAL(copyval), *zcolval); - zval_dtor(©val); + SEPARATE_ZVAL(zkeyval); + convert_to_string(*zkeyval); + add_assoc_zval(return_value, Z_STRVAL_PP(zkeyval), *zcolval); } else { add_next_index_zval(return_value, *zcolval); }