aboutsummaryrefslogtreecommitdiffstats
path: root/diff-no-index.c
diff options
context:
space:
mode:
Diffstat (limited to 'diff-no-index.c')
-rw-r--r--diff-no-index.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/diff-no-index.c b/diff-no-index.c
index 4296940f90..77462ac2a9 100644
--- a/diff-no-index.c
+++ b/diff-no-index.c
@@ -218,11 +218,13 @@ static void fixup_paths(const char **path, struct strbuf *replacement)
{
unsigned int isdir0, isdir1;
- if (path[0] == file_from_standard_input ||
- path[1] == file_from_standard_input)
- return;
- isdir0 = is_directory(path[0]);
- isdir1 = is_directory(path[1]);
+ isdir0 = path[0] != file_from_standard_input && is_directory(path[0]);
+ isdir1 = path[1] != file_from_standard_input && is_directory(path[1]);
+
+ if ((path[0] == file_from_standard_input && isdir1) ||
+ (isdir0 && path[1] == file_from_standard_input))
+ die(_("cannot compare stdin to a directory"));
+
if (isdir0 == isdir1)
return;
if (isdir0) {