Commit Diff


commit - 62f591725a7d7477ca00fed09795d566f0af4095
commit + 5a3ad9e051c99696dd2552a566a4fcea06a2f227
blob - 897760fc4691f3b9afbe4f60833c72a447cda40c
blob + 3132fbc7db7c4b40573a1f04546bb62df2d0c1f0
--- lib/diff3.c
+++ lib/diff3.c
@@ -374,8 +374,7 @@ merge_diff3(int outfd, char *p1, char *p2, char *p3, i
 	dlen = buf_len(b1);
 	data = buf_release(b1);
 
-	if ((diffb = rcs_patchfile(data, dlen, patch, plen, ed_patch_lines)) == NULL)
-		goto out;
+	diffb = rcs_patchfile(data, dlen, patch, plen, ed_patch_lines);
 out:
 	buf_free(b2);
 	buf_free(b3);
@@ -403,7 +402,7 @@ out:
 			fclose(d3s->fp[i]);
 	}
 	free(d3s);
-	if (err == NULL) {
+	if (err == NULL && diffb) {
 		if (buf_write_fd(diffb, outfd) < 0)
 			err = got_error_from_errno();
 	}