apply_patch: move sanity check early in recv_patch
diff --git a/lib/patch.c b/lib/patch.c
index 6cc8533..957d639 100644
--- a/lib/patch.c
+++ b/lib/patch.c
@@ -172,6 +172,10 @@ recv_patch(struct imsgbuf *ibuf, int *done, struct got_patch *p)
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_repository *repo,
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)