Commit Diff


commit - ab6186ae7d9e4f25db5401fc5953073c1c27ce86
commit + dd3af45a9cdaa4f41ab7ad2211482048d275044a
blob - a2a77eec3583a812ce8b2b1da88c1970e30fb163
blob + e62aa2976cf796cf5f35817e8ad9c0a3d1af9309
--- lib/object.c
+++ lib/object.c
@@ -565,6 +565,8 @@ got_object_raw_open(struct got_raw_object **obj, struc
 		}
 		err = read_packed_object_raw_privsep(&outbuf, &size, &hdrlen,
 		    outfd, pack, packidx, idx, id);
+		if (err)
+			goto done;
 	} else if (err->code == GOT_ERR_NO_OBJ) {
 		int fd;
 
@@ -573,6 +575,8 @@ got_object_raw_open(struct got_raw_object **obj, struc
 			goto done;
 		err = read_object_raw_privsep(&outbuf, &size, &hdrlen, outfd,
 		    id, repo, fd);
+		if (err)
+			goto done;
 	}
 
 	*obj = calloc(1, sizeof(**obj));