From: Mark Wooding Date: Sat, 18 Feb 2006 19:15:06 +0000 (+0000) Subject: sw_build: Bug squashing. X-Git-Tag: 1.0.5mdw2~2 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sw-tools/commitdiff_plain/0d451ca5574df7dba18505ef3404bd62daf24c6b sw_build: Bug squashing. * Report actual unexpected packet number, rather than an unhelpful `%i'. * Free each individual remote block, rather than the first one lots of times. Fixes glibc heap error reported by David Kreil. --- diff --git a/src/sw_build.c b/src/sw_build.c index d8ec6ab..7b30193 100644 --- a/src/sw_build.c +++ b/src/sw_build.c @@ -405,8 +405,10 @@ int sw_run(int argc, char *argv[]) } break; default: { - const static char msg[] = "\n[Unexpected packet, type %i]\n"; - p->output(e, msg, sizeof(msg) - 1); + dstr d = DSTR_INIT; + dstr_putf(&d, "\n[Unexpected packet, type %i]\n", t); + p->output(e, d.buf, d.len); + dstr_destroy(&d); } break; } } @@ -444,7 +446,7 @@ int sw_run(int argc, char *argv[]) { archcons *aa; for (aa = a; aa; aa = aa->cdr) - free(a->car->r); + free(aa->car->r); } /* --- Tidy away the architecture list --- */