From 1bc2338361af6fb1e8fecb3ec44db9979d842e4d Mon Sep 17 00:00:00 2001 From: Francois-Xavier Coudert Date: Thu, 11 Jan 2007 08:55:10 +0100 Subject: [PATCH] re PR fortran/30430 (Memory corruption in the module search path code) PR fortran/30430 * scanner.c (gfc_release_include_path): Free gfc_option.module_dir only once! From-SVN: r120667 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/scanner.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 7634dcee40e..08084303a83 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2007-01-11 Francois-Xavier Coudert + + PR fortran/30430 + * scanner.c (gfc_release_include_path): Free gfc_option.module_dir + only once! + 2007-01-09 Brooks Moses * simplify.c (gfc_simplify_ibclr): Fix POS comparison. diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c index cf05306794d..f7c7c8a7ec4 100644 --- a/gcc/fortran/scanner.c +++ b/gcc/fortran/scanner.c @@ -172,7 +172,6 @@ gfc_release_include_path (void) { gfc_directorylist *p; - gfc_free (gfc_option.module_dir); while (include_dirs != NULL) { p = include_dirs; @@ -181,7 +180,6 @@ gfc_release_include_path (void) gfc_free (p); } - gfc_free (gfc_option.module_dir); while (intrinsic_modules_dirs != NULL) { p = intrinsic_modules_dirs; @@ -189,6 +187,8 @@ gfc_release_include_path (void) gfc_free (p->path); gfc_free (p); } + + gfc_free (gfc_option.module_dir); } -- 2.30.2