Commit Diff


commit - b87b4170d4b402d61585cf4d458c0b58ab49095f
commit + 3f7f9bd96eb735d35591a1e66f70adcabfc86cc6
blob - 19ddcf4967e9cf727c23cdea064fec9ed1b03987
blob + 3ec8615b5fea3525c93f31b62e94deb450917db1
--- libexec/got-read-commit/got-read-commit.c
+++ libexec/got-read-commit/got-read-commit.c
@@ -60,8 +60,10 @@ read_commit_object(struct got_commit_object **commit, 
 		return err;
 
 	err = got_object_parse_header(&obj, p, len);
-	if (err)
+	if (err) {
+		free(p);
 		return err;
+	}
 
 	if (len < obj->hdrlen + obj->size) {
 		err = got_error(GOT_ERR_BAD_OBJ_DATA);