Skip to content

Commit a07d31c

Browse files
committed
Fix some memory errors
1 parent eca727a commit a07d31c

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

src/query.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -587,8 +587,7 @@ static void trim_frame(query *q, const frame *f)
587587
slot *e = get_slot(q, f, i);
588588
cell *c = &e->c;
589589
unshare_cell(c);
590-
c->tag = TAG_EMPTY;
591-
c->val_attrs = NULL;
590+
memset(e, 0, sizeof(slot));
592591
}
593592

594593
q->st.sp -= f->actual_slots;
@@ -608,6 +607,7 @@ void undo_me(query *q)
608607
unshare_cell(c);
609608
c->tag = TAG_EMPTY;
610609
c->val_attrs = tr->attrs;
610+
e->vgen = e->vgen2 = 0;
611611
}
612612
}
613613

@@ -619,10 +619,7 @@ void try_me(query *q, unsigned num_vars)
619619

620620
for (unsigned i = 0; i < num_vars; i++) {
621621
slot *e = get_slot(q, f, i);
622-
cell *c = &e->c;
623-
c->tag = TAG_EMPTY;
624-
c->val_attrs = NULL;
625-
e->vgen = e->vgen2 = 0;
622+
memset(e, 0, sizeof(slot));
626623
}
627624
}
628625

0 commit comments

Comments
 (0)