static void fastcgi_ini_parser(zval *arg1, zval *arg2, zval *arg3, int callback_type, void *arg TSRMLS_DC) /* {{{ */
{
int *mode = (int *)arg;
- char *key = Z_STRVAL_P(arg1);
- char *value = Z_STRVAL_P(arg2);
+ char *key;
+ char *value = NULL;
struct key_value_s kv;
- if (!mode) return;
+ if (!mode || !arg1) return;
if (callback_type != ZEND_INI_PARSER_ENTRY) {
zlog(ZLOG_ERROR, "Passing INI directive through FastCGI: only classic entries are allowed");
return;
}
+ key = Z_STRVAL_P(arg1);
+
if (!key || strlen(key) < 1) {
zlog(ZLOG_ERROR, "Passing INI directive through FastCGI: empty key");
return;
}
+ if (arg2) {
+ value = Z_STRVAL_P(arg2);
+ }
+
if (!value) {
zlog(ZLOG_ERROR, "Passing INI directive through FastCGI: empty value for key '%s'", key);
return;