X-Git-Url: https://git.distorted.org.uk/~mdw/disorder/blobdiff_plain/f74f4f32805a96d5079b90455264a160d91be3af..b251ac34ba798319d91f362dc738d616bcc516fc:/lib/client.c?ds=sidebyside diff --git a/lib/client.c b/lib/client.c index d9023a9..d7a3564 100644 --- a/lib/client.c +++ b/lib/client.c @@ -653,6 +653,7 @@ static int disorder_somequeue(disorder_client *c, if(!strcmp(l, ".")) { *qt = 0; *qp = qh; + xfree(l); return 0; } q = xmalloc(sizeof *q); @@ -660,6 +661,7 @@ static int disorder_somequeue(disorder_client *c, *qt = q; qt = &q->next; } + xfree(l); } if(ferror(c->fpin)) { byte_xasprintf((char **)&c->last, "input error: %s", strerror(errno)); @@ -712,9 +714,11 @@ static int readlist(disorder_client *c, char ***vecp, int *nvecp) { if(nvecp) *nvecp = v.nvec; *vecp = v.vec; + xfree(l); return 0; } - vector_append(&v, l + (*l == '.')); + vector_append(&v, xstrdup(l + (*l == '.'))); + xfree(l); } if(ferror(c->fpin)) { byte_xasprintf((char **)&c->last, "input error: %s", strerror(errno));