commit 6b59e13c2c31b2a7edc9aaf87f6f7257ce91781a from: Stefan Sperling date: Mon Apr 02 17:25:28 2018 UTC always free ds->clist and ds->klist in got_diffreg() commit - 7b366981c181847ca7ddee5d703737ad12ee7184 commit + 6b59e13c2c31b2a7edc9aaf87f6f7257ce91781a blob - e46456db9888c0aaf638fadece6b6b84389ccde7 blob + 9f821a6575a0060ae8726366a7ce84f3b2b190ec --- lib/diffreg.c +++ lib/diffreg.c @@ -400,10 +400,6 @@ got_diffreg(int *rval, FILE *f1, FILE *f2, int flags, } ds->J = p; unravel(ds, ds->klist[i]); - free(ds->clist); - ds->clist = NULL; - free(ds->klist); - ds->klist = NULL; lp = reallocarray(ds->ixold, ds->len[0] + 2, sizeof(*ds->ixold)); if (lp == NULL) { @@ -429,6 +425,8 @@ closem: free(ds->J); free(ds->member); free(ds->class); + free(ds->clist); + free(ds->klist); if (ds->anychange) { args->status |= 1; if (*rval == D_SAME)