Commit Diff


commit - ca6444c5b3830627626458222ef3f16852e3505f
commit + b95c53dfde0b4b71d68386b5a6e362877bba1d43
blob - 6cc85331d4129d6f7dfec267d04e16173c9608a6
blob + 957d639a49780d6a41491cd6e9117b1783a6b61f
--- lib/patch.c
+++ lib/patch.c
@@ -172,6 +172,10 @@ recv_patch(struct imsgbuf *ibuf, int *done, struct got
 		err = got_error_from_errno("strdup");
 		goto done;
 	}
+	if (p->old == NULL && p->new == NULL) {
+		err = got_error(GOT_ERR_PATCH_MALFORMED);
+		goto done;
+	}
 
 	imsg_free(&imsg);
 
@@ -396,9 +400,6 @@ apply_patch(struct got_worktree *worktree, struct got_
 
 	TAILQ_INIT(&paths);
 
-	if (p->old == NULL && p->new == NULL)
-		return got_error(GOT_ERR_PATCH_MALFORMED);
-
 	err = got_worktree_resolve_path(&path, worktree,
 	    p->new != NULL ? p->new : p->old);
 	if (err)