chiark / gitweb /
more memory hygeine
[disorder] / lib / client.c
index d9023a985bd3074d1da1d571ca5f0969a19a821f..c621ead5612364b3be836c8807df10816bc343fe 100644 (file)
@@ -712,9 +712,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));