@@ -75,7 +75,7 @@ static php_process_env_t _php_array_to_envp(zval *environment, int is_persistent
75
75
char * * ep ;
76
76
#endif
77
77
char * p ;
78
- size_t cnt , l , sizeenv = 0 ;
78
+ size_t cnt , sizeenv = 0 ;
79
79
HashTable * env_hash ;
80
80
81
81
memset (& env , 0 , sizeof (env ));
@@ -122,25 +122,20 @@ static php_process_env_t _php_array_to_envp(zval *environment, int is_persistent
122
122
p = env .envp = (char * ) pecalloc (sizeenv + 4 , 1 , is_persistent );
123
123
124
124
ZEND_HASH_FOREACH_STR_KEY_PTR (env_hash , key , str ) {
125
- if (key ) {
126
- l = ZSTR_LEN (key ) + ZSTR_LEN (str ) + 2 ;
127
- memcpy (p , ZSTR_VAL (key ), ZSTR_LEN (key ));
128
- strncat (p , "=" , 1 );
129
- strncat (p , ZSTR_VAL (str ), ZSTR_LEN (str ));
130
-
131
- #ifndef PHP_WIN32
132
- * ep = p ;
133
- ++ ep ;
134
- #endif
135
- p += l ;
136
- } else {
137
- memcpy (p , ZSTR_VAL (str ), ZSTR_LEN (str ));
138
125
#ifndef PHP_WIN32
139
- * ep = p ;
140
- ++ ep ;
126
+ * ep = p ;
127
+ ++ ep ;
141
128
#endif
142
- p += ZSTR_LEN (str ) + 1 ;
129
+
130
+ if (key ) {
131
+ memcpy (p , ZSTR_VAL (key ), ZSTR_LEN (key ));
132
+ p += ZSTR_LEN (key );
133
+ * p ++ = '=' ;
143
134
}
135
+
136
+ memcpy (p , ZSTR_VAL (str ), ZSTR_LEN (str ));
137
+ p += ZSTR_LEN (str );
138
+ * p ++ = '\0' ;
144
139
zend_string_release_ex (str , 0 );
145
140
} ZEND_HASH_FOREACH_END ();
146
141
0 commit comments