commit 3dcf3e7438f8c2aa3c8cb3855f0f52718d0c6c3b from: Stefan Sperling date: Tue Jan 28 11:00:34 2020 UTC rewind directory file pointer before re-opening the directory commit - 43d8c06e246c7e73277ba8935ca9e9b10735e9ad commit + 3dcf3e7438f8c2aa3c8cb3855f0f52718d0c6c3b blob - f277b84eb3d55e26a0b1c8f7280dc7a64cccbd3d blob + 0b81c78007efa735faf371dd4bb4a9688572d7f4 --- lib/fileindex.c +++ lib/fileindex.c @@ -1062,9 +1062,17 @@ got_fileindex_diff_dir(struct got_fileindex *fileindex fd2 = dup(fd); if (fd2 == -1) return got_error_from_errno2("dup", path); + if (lseek(fd2, 0, SEEK_SET) == -1) { + err = got_error_from_errno2("lseek", path); + close(fd2); + return err; + } dir = fdopendir(fd2); - if (dir == NULL) - return got_error_from_errno2("fdopendir", path); + if (dir == NULL) { + err = got_error_from_errno2("fdopendir", path); + close(fd2); + return err; + } err = read_dirlist(&dirlist, dir, path); if (err) { closedir(dir);