Skip to content

Commit 6c3e6f6

Browse files
committed
Merge branch 'jk/strbuf-read-file-close-error'
Code clean-up. * jk/strbuf-read-file-close-error: strbuf_read_file(): preserve errno across close() call
2 parents 169c9c0 + 79f0ba1 commit 6c3e6f6

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

strbuf.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -612,14 +612,18 @@ ssize_t strbuf_read_file(struct strbuf *sb, const char *path, size_t hint)
612612
{
613613
int fd;
614614
ssize_t len;
615+
int saved_errno;
615616

616617
fd = open(path, O_RDONLY);
617618
if (fd < 0)
618619
return -1;
619620
len = strbuf_read(sb, fd, hint);
621+
saved_errno = errno;
620622
close(fd);
621-
if (len < 0)
623+
if (len < 0) {
624+
errno = saved_errno;
622625
return -1;
626+
}
623627

624628
return len;
625629
}

0 commit comments

Comments
 (0)