@@ -748,6 +748,15 @@ void frankenphp_register_variable_safe(char *key, char *val, size_t val_len,
748748 }
749749}
750750
751+ static inline void register_server_variable_filtered (const char * key ,
752+ char * * val ,
753+ size_t * val_len ,
754+ zval * track_vars_array ) {
755+ if (sapi_module .input_filter (PARSE_SERVER , key , val , * val_len , val_len )) {
756+ php_register_variable_safe (key , * val , * val_len , track_vars_array );
757+ }
758+ }
759+
751760static void frankenphp_register_variables (zval * track_vars_array ) {
752761 /* https://www.php.net/manual/en/reserved.variables.server.php */
753762
@@ -1067,7 +1076,7 @@ static void cli_register_file_handles(bool no_close) /* {{{ */
10671076
10681077static void sapi_cli_register_variables (zval * track_vars_array ) /* {{{ */
10691078{
1070- size_t len ;
1079+ size_t len = strlen ( cli_script ) ;
10711080 char * docroot = "" ;
10721081
10731082 /*
@@ -1077,33 +1086,21 @@ static void sapi_cli_register_variables(zval *track_vars_array) /* {{{ */
10771086 php_import_environment_variables (track_vars_array );
10781087
10791088 /* Build the special-case PHP_SELF variable for the CLI version */
1080- len = strlen (cli_script );
1081- if (sapi_module .input_filter (PARSE_SERVER , "PHP_SELF" , & cli_script , len ,
1082- & len )) {
1083- php_register_variable_safe ("PHP_SELF" , cli_script , len , track_vars_array );
1084- }
1085- if (sapi_module .input_filter (PARSE_SERVER , "SCRIPT_NAME" , & cli_script , len ,
1086- & len )) {
1087- php_register_variable_safe ("SCRIPT_NAME" , cli_script , len ,
1088- track_vars_array );
1089- }
1089+ register_server_variable_filtered ("PHP_SELF" , & cli_script , & len ,
1090+ track_vars_array );
1091+ register_server_variable_filtered ("SCRIPT_NAME" , & cli_script , & len ,
1092+ track_vars_array );
1093+
10901094 /* filenames are empty for stdin */
1091- if (sapi_module .input_filter (PARSE_SERVER , "SCRIPT_FILENAME" , & cli_script ,
1092- len , & len )) {
1093- php_register_variable_safe ("SCRIPT_FILENAME" , cli_script , len ,
1094- track_vars_array );
1095- }
1096- if (sapi_module .input_filter (PARSE_SERVER , "PATH_TRANSLATED" , & cli_script ,
1097- len , & len )) {
1098- php_register_variable_safe ("PATH_TRANSLATED" , cli_script , len ,
1099- track_vars_array );
1100- }
1095+ register_server_variable_filtered ("SCRIPT_FILENAME" , & cli_script , & len ,
1096+ track_vars_array );
1097+ register_server_variable_filtered ("PATH_TRANSLATED" , & cli_script , & len ,
1098+ track_vars_array );
1099+
11011100 /* just make it available */
11021101 len = 0U ;
1103- if (sapi_module .input_filter (PARSE_SERVER , "DOCUMENT_ROOT" , & docroot , len ,
1104- & len )) {
1105- php_register_variable_safe ("DOCUMENT_ROOT" , docroot , len , track_vars_array );
1106- }
1102+ register_server_variable_filtered ("DOCUMENT_ROOT" , & docroot , & len ,
1103+ track_vars_array );
11071104}
11081105/* }}} */
11091106
0 commit comments