viest пре 7 година
родитељ
комит
ea45749b5c
2 измењених фајлова са 5 додато и 3 уклоњено
  1. 2 3
      kernel/excel.c
  2. 3 0
      kernel/write.c

+ 2 - 3
kernel/excel.c

@@ -95,16 +95,15 @@ PHP_METHOD(vtiful_excel, fileName)
     ZVAL_STR(&tmp_file_name, file_name);
     concat_function(&file_path, tmp_path, &tmp_file_name);
 
-    res = malloc(sizeof(excel_resource_t));
+    res = emalloc(sizeof(excel_resource_t));
     res->workbook  = workbook_new(ZSTR_VAL(zval_get_string(&file_path)));
     res->worksheet = workbook_add_worksheet(res->workbook, NULL);
+    zval_ptr_dtor(&file_path);
 
     ZVAL_RES(&handle, zend_register_resource(res, le_vtiful));
 
     zend_update_property(vtiful_excel_ce, return_value, ZEND_STRL(V_EXCEL_FIL), &file_path);
     zend_update_property(vtiful_excel_ce, return_value, ZEND_STRL(V_EXCEL_HANDLE), &handle);
-
-    zval_ptr_dtor(&file_path);
     zval_ptr_dtor(&file_path);
 }
 /* }}} */

+ 3 - 0
kernel/write.c

@@ -122,7 +122,10 @@ workbook_file(excel_resource_t *self, zval *handle)
     mem_error:
     if (handle) {
         zend_list_close(Z_RES_P(handle));
+        lxw_packager_free(packager);
+        lxw_workbook_free(self->workbook);
     }
+
     return error;
 }