- finish work on encoding api
[m6w6/ext-http] / http_inflatestream_object.c
index 853e4fd3363693ea905898ced2d094f1ad1f0ddc..39abcee3edbfbc74e3019c57eee5be33f881943f 100644 (file)
@@ -218,14 +218,15 @@ PHP_METHOD(HttpInflateStream, finish)
                        updated = erealloc(updated, updated_len + decoded_len + 1);
                        updated[updated_len + decoded_len] = '\0';
                        memcpy(updated + updated_len, decoded, decoded_len);
                        updated = erealloc(updated, updated_len + decoded_len + 1);
                        updated[updated_len + decoded_len] = '\0';
                        memcpy(updated + updated_len, decoded, decoded_len);
+                       STR_FREE(decoded);
                        updated_len += decoded_len;
                        RETVAL_STRINGL(updated, updated_len, 0);
                        updated_len += decoded_len;
                        RETVAL_STRINGL(updated, updated_len, 0);
-                       STR_FREE(decoded);
                } else {
                } else {
-                       RETVAL_STRINGL(decoded, decoded_len, 0);
                        STR_FREE(updated);
                        STR_FREE(updated);
+                       RETVAL_STRINGL(decoded, decoded_len, 0);
                }
        } else {
                }
        } else {
+               STR_FREE(updated);
                RETVAL_FALSE;
        }
        
                RETVAL_FALSE;
        }