summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraiju <devnull@localhost>2018-03-20 11:23:41 +0000
committeraiju <devnull@localhost>2018-03-20 11:23:41 +0000
commit5d4a456ae6af550a39280b98554b42716a07f8ff (patch)
treefa01dd46a03e1ac372d45d714514af0466a935e2
parent547f60b4c507778099635f5d2ec4919e1beb6a57 (diff)
libsat: setmalloctag, fix incorrect allocation size
-rw-r--r--sys/src/libsat/misc.c1
-rw-r--r--sys/src/libsat/satsolve.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/sys/src/libsat/misc.c b/sys/src/libsat/misc.c
index e7e843529..f62aed431 100644
--- a/sys/src/libsat/misc.c
+++ b/sys/src/libsat/misc.c
@@ -106,6 +106,7 @@ satrealloc(SATSolve *s, void *v, ulong n)
v = realloc(v, n);
if(v == nil)
saterror(s, "realloc: %r");
+ setmalloctag(v, getcallerpc(&s));
return v;
}
diff --git a/sys/src/libsat/satsolve.c b/sys/src/libsat/satsolve.c
index 94dec8598..78728fc8c 100644
--- a/sys/src/libsat/satsolve.c
+++ b/sys/src/libsat/satsolve.c
@@ -82,7 +82,7 @@ solvinit(SATSolve *s)
{
satdebuginit(s);
satheapreset(s);
- s->decbd = satrealloc(s, s->decbd, s->nvar * sizeof(int));
+ s->decbd = satrealloc(s, s->decbd, (s->nvar + 1) * sizeof(int));
s->decbd[0] = 0;
s->trail = satrealloc(s, s->trail, sizeof(int) * s->nvar);
s->fullrlits = satrealloc(s, s->fullrlits, sizeof(int) * s->nvar);