From: Junio C Hamano Date: Thu, 9 Nov 2017 05:31:26 +0000 (+0900) Subject: Merge branch 'ao/diff-populate-filespec-lstat-errorpath-fix' X-Git-Tag: v2.16.0-rc0~152 X-Git-Url: https://www.git.lorimer.id.au/gitweb.git/diff_plain/4e9762ed4791a44f7b1c2ab66328b81bdc243173?hp=4da9f598e66fb2f2abcd3770c8253edbe0858190 Merge branch 'ao/diff-populate-filespec-lstat-errorpath-fix' After an error from lstat(), diff_populate_filespec() function sometimes still went ahead and used invalid data in struct stat, which has been fixed. * ao/diff-populate-filespec-lstat-errorpath-fix: diff: fix lstat() error handling in diff_populate_filespec() --- diff --git a/diff.c b/diff.c index e6814b9e9c..1898dd307d 100644 --- a/diff.c +++ b/diff.c @@ -3545,14 +3545,12 @@ int diff_populate_filespec(struct diff_filespec *s, unsigned int flags) int fd; if (lstat(s->path, &st) < 0) { - if (errno == ENOENT) { - err_empty: - err = -1; - empty: - s->data = (char *)""; - s->size = 0; - return err; - } + err_empty: + err = -1; + empty: + s->data = (char *)""; + s->size = 0; + return err; } s->size = xsize_t(st.st_size); if (!s->size)