Commit Diff


commit - c8f60bffbe10a8ddb0e951e2a9d884663c946e8f
commit + 472e0cad8695f025daad2527ab1f6c0b813738c3
blob - 390d7ee427b4f78fa7d898cd9ae743efaac3777d
blob + 6954b089b1de0b9fd769192bae1b983699d7ee57
--- got/got.c
+++ got/got.c
@@ -451,12 +451,15 @@ print_commits(struct got_object *root_obj, struct got_
 					id = got_object_get_id(obj);
 					if (id == NULL) {
 						err = got_error_from_errno();
+						got_object_close(obj);
 						break;
 					}
 					pid = got_object_get_id(pobj);
 					if (pid == NULL) {
-						free(id);
 						err = got_error_from_errno();
+						free(id);
+						got_object_close(obj);
+						got_object_close(pobj);
 						break;
 					}
 					changed =