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()
This commit is contained in:
commit
4e9762ed47
14
diff.c
14
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)
|
||||
|
Loading…
Reference in New Issue
Block a user