Commit Diff


commit - 836f2c92d50448412fd4adeb992795849b4ea1ac
commit + 7cd14ea0da6f3f85fa7bf27fc123e5b05ffc8009
blob - c4919675c8c64fe60131eca09faa797846b5d073
blob + ece294c349cf8edd1d2e61d1fe3084d60102fb3d
--- libexec/got-index-pack/got-index-pack.c
+++ libexec/got-index-pack/got-index-pack.c
@@ -190,8 +190,10 @@ read_packed_object(struct got_pack *pack, struct got_i
 			break;
 		SHA1Init(&ctx);
 		err = get_obj_type_label(&obj_label, obj->type);
-		if (err)
+		if (err) {
+			free(data);
 			break;
+		}
 		if (asprintf(&header, "%s %lld", obj_label, obj->size) == -1) {
 			err = got_error_from_errno("asprintf");
 			free(data);