diff options
author | Paul Smith <psmith@gnu.org> | 2006-02-21 05:21:19 +0000 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2006-02-21 05:21:19 +0000 |
commit | 8af9389f87e25aea721071516cf00ed13360ab9c (patch) | |
tree | 1610e1b28335c7dc70b523f5442366b127f00837 /variable.c | |
parent | 08bfd86103b6be48c43d36b950eb7d4ea9e8a7a5 (diff) | |
download | gunmake-8af9389f87e25aea721071516cf00ed13360ab9c.tar.gz |
Fix a potential core dump when merging aliases. Might fix bug #15818.
Revert intermediate file free code.
Suppress some warnings in VMS builds.
Diffstat (limited to 'variable.c')
-rw-r--r-- | variable.c | 17 |
1 files changed, 9 insertions, 8 deletions
@@ -674,16 +674,17 @@ merge_variable_set_lists (struct variable_set_list **setlist0, /* This loop relies on the fact that all setlists terminate with the global setlist (before NULL). If that's not true, arguably we SHOULD die. */ - while (setlist1 != &global_setlist && to != &global_setlist) - { - struct variable_set_list *from = setlist1; - setlist1 = setlist1->next; + if (to) + while (setlist1 != &global_setlist && to != &global_setlist) + { + struct variable_set_list *from = setlist1; + setlist1 = setlist1->next; - merge_variable_sets (to->set, from->set); + merge_variable_sets (to->set, from->set); - last0 = to; - to = to->next; - } + last0 = to; + to = to->next; + } if (setlist1 != &global_setlist) { |