Browse code

msxml: memory issues with tempfiles

Kevin Lin authored on 2015/04/18 00:25:44
Showing 1 changed files
... ...
@@ -376,6 +376,9 @@ static int msxml_parse_element(struct msxml_ctx *mxctx, xmlTextReaderPtr reader,
376 376
 
377 377
                     ret = cli_magic_scandesc(of, ctx);
378 378
                     close(of);
379
+                    if (ctx && !(ctx->engine->keeptmp))
380
+                        cli_unlink(tempfile);
381
+                    free(tempfile);
379 382
                     if (ret != CL_SUCCESS || (!SCAN_ALL && ret == CL_VIRUS)) {
380 383
                         return ret;
381 384
                     }
... ...
@@ -462,8 +465,8 @@ int cli_msxml_parse_document(cli_ctx *ctx, xmlTextReaderPtr reader, const struct
462 462
 #endif
463 463
 
464 464
     /* Error Handler */
465
-    //xmlTextReaderSetErrorHandler(reader, NULL, NULL); /* xml default handler */
466
-    xmlTextReaderSetErrorHandler(reader, msxml_error_handler, NULL);
465
+    xmlTextReaderSetErrorHandler(reader, NULL, NULL); /* xml default handler */
466
+    //xmlTextReaderSetErrorHandler(reader, msxml_error_handler, NULL);
467 467
 
468 468
     /* Main Processing Loop */
469 469
     while ((state = xmlTextReaderRead(reader)) == 1) {