php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #73098 please use -Wstack-protector on dev-machines
Submitted: 2016-09-16 10:39 UTC Modified: 2016-09-16 15:36 UTC
From: spam2 at rhsoft dot net Assigned:
Status: Wont fix Package: Compile Warning
PHP Version: 5.6.26 OS:
Private report: No CVE-ID: None
 [2016-09-16 10:39 UTC] spam2 at rhsoft dot net
Description:
------------
probably not all of this is fixable but at least worth a look and PHP7 looks very similar at buildtime

/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/opcache/Optimizer/zend_optimizer.c: In function 'zend_optimize':
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/opcache/Optimizer/zend_optimizer.c:475:13: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 static void zend_optimize(zend_op_array           *op_array,
             ^
ext/opcache/Optimizer/block_pass.c: In function 'zend_get_persistent_constant':
ext/opcache/Optimizer/block_pass.c:4:12: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 static int zend_get_persistent_constant(char *name, uint name_len, zval *result, int copy TSRMLS_DC ELS_DC)
            ^
ext/opcache/Optimizer/nop_removal.c: In function 'nop_removal':
ext/opcache/Optimizer/nop_removal.c:5:13: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 static void nop_removal(zend_op_array *op_array)
             ^
/bin/sh /home/builduser/rpmbuild/BUILD/php-5.6.26/libtool --silent --preserve-dup-deps --mode=install cp ext/opcache/opcache.la /home/builduser/rpmbuild/BUILD/php-5.6.26/modules
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/mbstring/oniguruma/regexec.c: In function 'match_at':
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/mbstring/oniguruma/regexec.c:1238:1: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 match_at(regex_t* reg, const UChar* str, const UChar* end,
 ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/mbstring/oniguruma/regexec.c: In function 'onig_match.constprop':
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/mbstring/oniguruma/regexec.c:3049:1: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 onig_match(regex_t* reg, const UChar* str, const UChar* end, const UChar* at, OnigRegion* region,
 ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/mbstring/oniguruma/regexec.c: In function 'onig_search.constprop':
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/mbstring/oniguruma/regexec.c:3350:1: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 onig_search(regex_t* reg, const UChar* str, const UChar* end,
 ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/mbstring/oniguruma/regcomp.c: In function 'disable_noname_group_capture':
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/mbstring/oniguruma/regcomp.c:1894:1: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 disable_noname_group_capture(Node** root, regex_t* reg, ScanEnv* env)
 ^
/bin/sh /home/builduser/rpmbuild/BUILD/php-5.6.26/libtool --silent --preserve-dup-deps --mode=install cp ext/mbstring/mbstring.la /home/builduser/rpmbuild/BUILD/php-5.6.26/modules
/bin/sh /home/builduser/rpmbuild/BUILD/php-5.6.26/libtool --silent --preserve-dup-deps --mode=install cp ext/soap/soap.la /home/builduser/rpmbuild/BUILD/php-5.6.26/modules
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_virtual_cwd.c: In function 'virtual_chdir_file':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_virtual_cwd.c:1396:13: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 CWD_API int virtual_chdir_file(const char *path, int (*p_chdir)(const char *path TSRMLS_DC) TSRMLS_DC) /* {{{ */
             ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_virtual_cwd.c: In function 'tsrm_realpath_r':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_virtual_cwd.c:780:12: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, int use_realpath, int is_dir, int *link_is_dir TSRMLS_DC) /* {{{ */
            ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_closures.c: In function 'zend_closure_get_method':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_closures.c:198:23: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 static zend_function *zend_closure_get_method(zval **object_ptr, char *method_name, int method_len, const zend_literal *key TSRMLS_DC) /* {{{ */
                       ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_builtin_functions.c: In function 'zif_trait_exists':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_builtin_functions.c:1315:1: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 ZEND_FUNCTION(trait_exists)
 ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_builtin_functions.c: In function 'zif_interface_exists':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_builtin_functions.c:1272:1: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 ZEND_FUNCTION(interface_exists)
 ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_builtin_functions.c: In function 'zif_class_exists':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_builtin_functions.c:1229:1: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 ZEND_FUNCTION(class_exists)
 ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_execute_API.c: In function 'zend_lookup_class_ex':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_execute_API.c:903:14: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 ZEND_API int zend_lookup_class_ex(const char *name, int name_length, const zend_literal *key, int use_autoload, zend_class_entry ***ce TSRMLS_DC) /* {{{ */
              ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_constants.c: In function 'zend_get_special_constant':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_constants.c:214:12: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 static int zend_get_special_constant(const char *name, uint name_len, zend_constant **c TSRMLS_DC)
            ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/main/php_variables.c: In function 'php_register_variable_ex':
/home/builduser/rpmbuild/BUILD/php-5.6.26/main/php_variables.c:59:13: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 PHPAPI void php_register_variable_ex(char *var_name, zval *val, zval *track_vars_array TSRMLS_DC)
             ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/main/main.c: In function 'php_execute_simple_script':
/home/builduser/rpmbuild/BUILD/php-5.6.26/main/main.c:2634:12: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 PHPAPI int php_execute_simple_script(zend_file_handle *primary_file, zval **ret TSRMLS_DC)
            ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/main/main.c: In function 'php_execute_script':
/home/builduser/rpmbuild/BUILD/php-5.6.26/main/main.c:2515:12: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 PHPAPI int php_execute_script(zend_file_handle *primary_file TSRMLS_DC)
            ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/mysqlnd/mysqlnd_auth.c: In function 'mysqlnd_sha256_auth_get_auth_data':
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/mysqlnd/mysqlnd_auth.c:571:1: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 mysqlnd_sha256_auth_get_auth_data(struct st_mysqlnd_authentication_plugin * self,
 ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/reflection/php_reflection.c: In function 'reflection_extension_factory':
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/reflection/php_reflection.c:1246:13: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 static void reflection_extension_factory(zval *object, const char *name_str TSRMLS_DC)
             ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/spl/php_spl.c: In function 'spl_find_ce_by_name':
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/spl/php_spl.c:65:27: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 static zend_class_entry * spl_find_ce_by_name(char *name, int len, zend_bool autoload TSRMLS_DC)
                           ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/reflection/php_reflection.c: In function 'zim_reflection_extension___construct':
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/reflection/php_reflection.c:5247:1: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 ZEND_METHOD(reflection_extension, __construct)
 ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/standard/crypt_sha512.c: In function 'php_sha512_crypt_r.constprop':
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/standard/crypt_sha512.c:369:1: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 php_sha512_crypt_r(const char *key, const char *salt, char *buffer, int buflen) {
 ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/standard/crypt_sha256.c: In function 'php_sha256_crypt_r.constprop':
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/standard/crypt_sha256.c:334:8: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 char * php_sha256_crypt_r(const char *key, const char *salt, char *buffer, int buflen)
        ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_compile.c: In function 'zend_do_begin_function_declaration':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_compile.c:1535:6: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 void zend_do_begin_function_declaration(znode *function_token, znode *function_name, int is_method, int return_reference, znode *fn_flags_znode TSRMLS_DC) /* {{{ */
      ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_object_handlers.c: In function 'zend_std_get_static_method':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_object_handlers.c:1179:25: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 ZEND_API zend_function *zend_std_get_static_method(zend_class_entry *ce, const char *function_name_strval, int function_name_strlen, const zend_literal *key TSRMLS_DC) /* {{{ */
                         ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_object_handlers.c: In function 'zend_std_get_method':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_object_handlers.c:1037:30: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 static union _zend_function *zend_std_get_method(zval **object_ptr, char *method_name, int method_len, const zend_literal *key TSRMLS_DC) /* {{{ */
                              ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/reflection/php_reflection.c: In function 'reflection_extension_factory':
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/reflection/php_reflection.c:1246:13: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 static void reflection_extension_factory(zval *object, const char *name_str TSRMLS_DC)
             ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/reflection/php_reflection.c: In function 'zim_reflection_extension___construct':
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/reflection/php_reflection.c:5247:1: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 ZEND_METHOD(reflection_extension, __construct)
 ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/spl/php_spl.c: In function 'spl_find_ce_by_name':
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/spl/php_spl.c:65:27: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 static zend_class_entry * spl_find_ce_by_name(char *name, int len, zend_bool autoload TSRMLS_DC)
                           ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/main/php_variables.c: In function 'php_register_variable_ex':
/home/builduser/rpmbuild/BUILD/php-5.6.26/main/php_variables.c:59:13: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 PHPAPI void php_register_variable_ex(char *var_name, zval *val, zval *track_vars_array TSRMLS_DC)
             ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/main/main.c: In function 'php_execute_simple_script':
/home/builduser/rpmbuild/BUILD/php-5.6.26/main/main.c:2634:12: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 PHPAPI int php_execute_simple_script(zend_file_handle *primary_file, zval **ret TSRMLS_DC)
            ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/main/main.c: In function 'php_execute_script':
/home/builduser/rpmbuild/BUILD/php-5.6.26/main/main.c:2515:12: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 PHPAPI int php_execute_script(zend_file_handle *primary_file TSRMLS_DC)
            ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_virtual_cwd.c: In function 'virtual_chdir_file':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_virtual_cwd.c:1396:13: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 CWD_API int virtual_chdir_file(const char *path, int (*p_chdir)(const char *path TSRMLS_DC) TSRMLS_DC) /* {{{ */
             ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_virtual_cwd.c: In function 'tsrm_realpath_r':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_virtual_cwd.c:780:12: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, int use_realpath, int is_dir, int *link_is_dir TSRMLS_DC) /* {{{ */
            ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_closures.c: In function 'zend_closure_get_method':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_closures.c:198:23: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 static zend_function *zend_closure_get_method(zval **object_ptr, char *method_name, int method_len, const zend_literal *key TSRMLS_DC) /* {{{ */
                       ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/sapi/cli/php_cli_server.c: In function 'php_cli_server_dispatch_router.isra.13':
/home/builduser/rpmbuild/BUILD/php-5.6.26/sapi/cli/php_cli_server.c:2150:12: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 static int php_cli_server_dispatch_router(php_cli_server *server, php_cli_server_client *client TSRMLS_DC) /* {{{ */
            ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/sapi/cli/php_cli_server.c: In function 'add_response_header':
/home/builduser/rpmbuild/BUILD/php-5.6.26/sapi/cli/php_cli_server.c:508:13: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 static void add_response_header(sapi_header_struct *h, zval *return_value TSRMLS_DC) /* {{{ */
             ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/standard/crypt_sha512.c: In function 'php_sha512_crypt_r.constprop':
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/standard/crypt_sha512.c:369:1: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 php_sha512_crypt_r(const char *key, const char *salt, char *buffer, int buflen) {
 ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/standard/crypt_sha256.c: In function 'php_sha256_crypt_r.constprop':
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/standard/crypt_sha256.c:334:8: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 char * php_sha256_crypt_r(const char *key, const char *salt, char *buffer, int buflen)
        ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_execute_API.c: In function 'zend_lookup_class_ex':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_execute_API.c:903:14: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 ZEND_API int zend_lookup_class_ex(const char *name, int name_length, const zend_literal *key, int use_autoload, zend_class_entry ***ce TSRMLS_DC) /* {{{ */
              ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_constants.c: In function 'zend_get_special_constant':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_constants.c:214:12: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 static int zend_get_special_constant(const char *name, uint name_len, zend_constant **c TSRMLS_DC)
            ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_builtin_functions.c: In function 'zif_trait_exists':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_builtin_functions.c:1315:1: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 ZEND_FUNCTION(trait_exists)
 ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_builtin_functions.c: In function 'zif_interface_exists':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_builtin_functions.c:1272:1: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 ZEND_FUNCTION(interface_exists)
 ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_builtin_functions.c: In function 'zif_class_exists':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_builtin_functions.c:1229:1: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 ZEND_FUNCTION(class_exists)
 ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/mysqlnd/mysqlnd_auth.c: In function 'mysqlnd_sha256_auth_get_auth_data':
/home/builduser/rpmbuild/BUILD/php-5.6.26/ext/mysqlnd/mysqlnd_auth.c:571:1: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 mysqlnd_sha256_auth_get_auth_data(struct st_mysqlnd_authentication_plugin * self,
 ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_object_handlers.c: In function 'zend_std_get_static_method':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_object_handlers.c:1179:25: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 ZEND_API zend_function *zend_std_get_static_method(zend_class_entry *ce, const char *function_name_strval, int function_name_strlen, const zend_literal *key TSRMLS_DC) /* {{{ */
                         ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_object_handlers.c: In function 'zend_std_get_method':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_object_handlers.c:1037:30: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 static union _zend_function *zend_std_get_method(zval **object_ptr, char *method_name, int method_len, const zend_literal *key TSRMLS_DC) /* {{{ */
                              ^
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_compile.c: In function 'zend_do_begin_function_declaration':
/home/builduser/rpmbuild/BUILD/php-5.6.26/Zend/zend_compile.c:1535:6: warning: stack protector not protecting local variables: variable length buffer [-Wstack-protector]
 void zend_do_begin_function_declaration(znode *function_token, znode *function_name, int is_method, int return_reference, znode *fn_flags_znode TSRMLS_DC) /* {{{ */



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2016-09-16 11:02 UTC] nikic@php.net
From the output, it looks like -Wstack-protector simply throws a warning for every function that uses alloca, or am I missing something? If that is the case, this information is not useful.
 [2016-09-16 11:11 UTC] spam2 at rhsoft dot net
since i am just a package-builder and php-developer meaning develop with PHP i can't qualify it

i think at least build with "-O2 -fstack-protector-strong --param=ssp-buffer-size=6 -D_FORTIFY_SOURCE=2 -Wstack-protector -Wformat" and review the warnings is worth given that the amount is not too large
 [2016-09-16 15:36 UTC] nikic@php.net
-Status: Open +Status: Wont fix
 [2016-09-16 15:36 UTC] nikic@php.net
I sampled through a few warnings, it's always alloca(), so nothing actionable here.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 11:01:30 2024 UTC