diff options
author | Roland McGrath <roland@redhat.com> | 1994-04-21 03:48:00 +0000 |
---|---|---|
committer | Roland McGrath <roland@redhat.com> | 1994-04-21 03:48:00 +0000 |
commit | f6716d5e74d06e2c24ee1b2935fe17c576d39b4c (patch) | |
tree | 77ff47b12c42ce6349e3d9c46a505fdcf01931fb | |
parent | be451f6d290c3adfe4d2c72000864e41b5979fdb (diff) | |
download | gunmake-f6716d5e74d06e2c24ee1b2935fe17c576d39b4c.tar.gz |
(pattern_search): Always allocate new storage for FILE->stem.
It is not safe to store STEM's address because it might be auto storage.
-rw-r--r-- | implicit.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -1,5 +1,5 @@ /* Implicit rule searching for GNU Make. -Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc. +Copyright (C) 1988, 89, 90, 91, 92, 93, 94 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify @@ -547,7 +547,9 @@ pattern_search (file, archive, depth, recursions) } if (!checked_lastslash[foundrule]) - file->stem = stem[stemlen] == '\0' ? stem : savestring (stem, stemlen); + /* Always allocate new storage, since STEM might be + on the stack for an intermediate file. */ + file->stem = savestring (stem, stemlen); else { /* We want to prepend the directory from |