Commit Diff


commit - 087855b83c297a28d10affc24cb2cb72e7b7515f
commit + b143701e30e72529b2b0aed4991214b3054108db
blob - 43e2f0f1c21abce2d0c7f7ab1318276432190eb2
blob + 6f4aeaac0c8708dbc26bd902e02d4c3e1aea87c3
--- lib/pack_create.c
+++ lib/pack_create.c
@@ -111,8 +111,11 @@ free_nmeta(struct got_pack_meta **meta, int nmeta)
 {
 	int i;
 
-	for (i = 0; i < nmeta; i++)
+	for (i = 0; i < nmeta; i++) {
 		clear_meta(meta[i]);
+		got_deltify_free(meta[i]->dtab);
+	}
+
 	free(meta);
 }
 
@@ -688,10 +691,6 @@ pick_deltas(struct got_pack_meta **meta, int nmeta, in
 		raw = NULL;
 	}
 done:
-	for (i = MAX(0, nmeta - max_base_candidates); i < nmeta; i++) {
-		got_deltify_free(meta[i]->dtab);
-		meta[i]->dtab = NULL;
-	}
 	if (raw)
 		got_object_raw_close(raw);
 	if (base_raw)