From 0cd9d47c2d0f6ef65fee4fa97a060ab4f3ed65aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Tempel?= Date: Wed, 30 Sep 2015 17:51:11 +0200 Subject: main/mcpp: move from testing --- main/mcpp/02-gniibe-fixes.patch | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 main/mcpp/02-gniibe-fixes.patch (limited to 'main/mcpp/02-gniibe-fixes.patch') diff --git a/main/mcpp/02-gniibe-fixes.patch b/main/mcpp/02-gniibe-fixes.patch new file mode 100644 index 0000000000..cb5aa6c345 --- /dev/null +++ b/main/mcpp/02-gniibe-fixes.patch @@ -0,0 +1,33 @@ +Description: Simple fixes + * Fix freeing unmalloced memory + The memory of 'in_file' is not malloced, but points to argv[]. + It is wrong to free it. + * When there is no input file specified by argv, it causes error + and fp_in == NULL. Check is needed to call fclose for fp_in. +Author: NIIBE Yutaka + +## Fixes the issue reported at: +## http://www.forallsecure.com/bug-reports/6b11b6fccda17cc467e055ccf7fec3fa2d89ec00/ + +Index: mcpp-2.7.2/src/main.c +=================================================================== +--- mcpp-2.7.2.orig/src/main.c 2013-07-09 03:03:05.610947658 +0000 ++++ mcpp-2.7.2/src/main.c 2013-07-09 03:03:05.534947624 +0000 +@@ -428,16 +428,11 @@ + + fatal_error_exit: + #if MCPP_LIB +- /* Free malloced memory */ +- if (mcpp_debug & MACRO_CALL) { +- if (in_file != stdin_name) +- free( in_file); +- } + clear_filelist(); + clear_symtable(); + #endif + +- if (fp_in != stdin) ++ if (fp_in && fp_in != stdin) + fclose( fp_in); + if (fp_out != stdout) + fclose( fp_out); -- cgit v1.2.3