commit 5a7ffad52579ed044585975028c64964df203f35 from: Stefan Sperling date: Mon Apr 02 17:26:55 2018 UTC always free ds->ixold and ds->ixmew in got_diffreg() commit - 6b59e13c2c31b2a7edc9aaf87f6f7257ce91781a commit + 5a7ffad52579ed044585975028c64964df203f35 blob - 9f821a6575a0060ae8726366a7ce84f3b2b190ec blob + 1762aa72057da2e6aa98f42cd006df84bf163c24 --- lib/diffreg.c +++ lib/diffreg.c @@ -404,16 +404,12 @@ got_diffreg(int *rval, FILE *f1, FILE *f2, int flags, lp = reallocarray(ds->ixold, ds->len[0] + 2, sizeof(*ds->ixold)); if (lp == NULL) { err = got_error_from_errno(); - free(ds->ixold); - ds->ixold = NULL; goto closem; } ds->ixold = lp; lp = reallocarray(ds->ixnew, ds->len[1] + 2, sizeof(*ds->ixnew)); if (lp == NULL) { err = got_error_from_errno(); - free(ds->ixnew); - ds->ixnew = NULL; goto closem; } ds->ixnew = lp; @@ -427,6 +423,8 @@ closem: free(ds->class); free(ds->clist); free(ds->klist); + free(ds->ixold); + free(ds->ixnew); if (ds->anychange) { args->status |= 1; if (*rval == D_SAME)