Download | Plain Text | No Line Numbers


  1. --- a/sapi/fpm/fpm/fpm_main.c 2026-10-06 18:53:18.000000000 +0200
  2. +++ b/sapi/fpm/fpm/fpm_main.c 2026-10-15 11:28:10.007078053 +0200
  3. @@ -1380,7 +1380,6 @@
  4. int *mode = (int *)arg;
  5. char *key;
  6. char *value = NULL;
  7. - struct key_value_s kv;
  8.  
  9. if (!mode || !arg1) return;
  10.  
  11. @@ -1391,7 +1390,7 @@
  12.  
  13. key = Z_STRVAL_P(arg1);
  14.  
  15. - if (!key || strlen(key) < 1) {
  16. + if (!key || Z_STRLEN_P(arg1) < 1) {
  17. zlog(ZLOG_ERROR, "Passing INI directive through FastCGI: empty key");
  18. return;
  19. }
  20. @@ -1405,10 +1404,8 @@
  21. return;
  22. }
  23.  
  24. - kv.key = key;
  25. - kv.value = value;
  26. - kv.next = NULL;
  27. - if (fpm_php_apply_defines_ex(&kv, *mode) == -1) {
  28. + // zend_string of arg2 is marked persistent but releasing doesn't know. so pass the internal char*
  29. + if (zend_alter_ini_entry_chars(Z_STR_P(arg1), value, Z_STRLEN_P(arg2), *mode, PHP_INI_STAGE_HTACCESS) == FAILURE) {
  30. zlog(ZLOG_ERROR, "Passing INI directive through FastCGI: unable to set '%s'", key);
  31. }
  32. }
  33.