summaryrefslogtreecommitdiff
path: root/variable.c
diff options
context:
space:
mode:
Diffstat (limited to 'variable.c')
-rw-r--r--variable.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/variable.c b/variable.c
index 39f0ada..54bbc02 100644
--- a/variable.c
+++ b/variable.c
@@ -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)
{