Commit Diff


commit - 6bb255dc42e64696281bca6fc8bfb6e1437e7631
commit + d0f3be7ced58c524baf1ac738b44c04317bcb757
blob - 1a04ad48910c82781df9061adf5499cd41714e15
blob + e3b651dca5e235020e2814ac50e46f03139a6c9a
--- lib/object.c
+++ lib/object.c
@@ -756,6 +756,7 @@ got_object_blob_open(struct got_blob_object **blob,
 		err = open_loose_object(&((*blob)->f), obj, repo);
 		if (err) {
 			free(*blob);
+			*blob = NULL;
 			return err;
 		}
 
blob - f56f6140b237ca84656c190d84578859d73bbbbe
blob + de4af7d6403dc66578acef343fd92450e6cefa05
--- lib/pack.c
+++ lib/pack.c
@@ -1381,8 +1381,10 @@ got_packfile_extract_object(FILE **f, struct got_objec
 		    pack, repo);
 	}
 done:
-	if (err && *f)
+	if (err && *f) {
 		fclose(*f);
+		*f = NULL;
+	}
 	return err;
 }