summaryrefslogtreecommitdiff
path: root/sys/src/cmd/git
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2021-12-08 00:20:32 +0000
committerOri Bernstein <ori@eigenstate.org>2021-12-08 00:20:32 +0000
commit3710ed60fddcc6f943a23f205d4c92984758834e (patch)
tree401aa19d870fb7991d126689e6a54136d7f486de /sys/src/cmd/git
parentbe0b39f9c57cc4c2768c341fcf87a15fcab0165c (diff)
git: fully init objq
we were leaving objq.best uninitialized, and would therefore read garbage if we didn't find a best match.
Diffstat (limited to 'sys/src/cmd/git')
-rw-r--r--sys/src/cmd/git/ref.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/src/cmd/git/ref.c b/sys/src/cmd/git/ref.c
index ba6f6f830..8308ac205 100644
--- a/sys/src/cmd/git/ref.c
+++ b/sys/src/cmd/git/ref.c
@@ -217,6 +217,7 @@ paint(Hash *head, int nhead, Hash *tail, int ntail, Object ***res, int *nres, in
osinit(&keep);
osinit(&drop);
+ memset(&objq, 0, sizeof(objq));
qinit(&objq);
objq.head = head;
objq.nhead = nhead;
@@ -335,9 +336,9 @@ ancestor(Object *a, Object *b)
if(paint(&a->hash, 1, &b->hash, 1, &o, &n, 1) == -1 || n == 0)
return nil;
- r = o[0];
+ r = ref(o[0]);
free(o);
- return ref(r);
+ return r;
}
int