Index: trunk/php/wmerrors/wmerrors.c |
— | — | @@ -188,14 +188,17 @@ |
189 | 189 | if (!entry || !*entry || Z_TYPE_PP(entry) != IS_ARRAY) { |
190 | 190 | /* Not supposed to happen */ |
191 | 191 | smart_str_appendl(s, "?!? ", sizeof("?!? ")); |
| 192 | + zend_hash_move_forward_ex(Z_ARRVAL_P(trace), &pos); |
192 | 193 | continue; |
193 | 194 | } |
| 195 | + |
194 | 196 | zend_hash_find(Z_ARRVAL_PP(entry), "file", sizeof("file"), (void **)&file); |
195 | 197 | zend_hash_find(Z_ARRVAL_PP(entry), "line", sizeof("line"), (void **)&line); |
196 | 198 | |
197 | 199 | if(!file || !*file || Z_TYPE_PP(file) != IS_STRING || !line || !*line || Z_TYPE_PP(line) != IS_LONG) { |
198 | 200 | /* Not supposed to happen */ |
199 | 201 | smart_str_appendl(s, "?!?!? ", sizeof("?!?!? ")); |
| 202 | + zend_hash_move_forward_ex(Z_ARRVAL_P(trace), &pos); |
200 | 203 | continue; |
201 | 204 | } |
202 | 205 | php_basename(Z_STRVAL_PP(file), Z_STRLEN_PP(file), NULL, 0, &basename, &basename_len TSRMLS_CC); |
— | — | @@ -211,6 +214,7 @@ |
212 | 215 | FREE_ZVAL(line_copy); |
213 | 216 | zend_hash_move_forward_ex(Z_ARRVAL_P(trace), &pos); |
214 | 217 | } |
| 218 | + zval_dtor(trace); |
215 | 219 | FREE_ZVAL(trace); |
216 | 220 | } |
217 | 221 | |