]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
archive_read_disk_posix: Don't pass -1 to a function expecting errno 2723/head
authorDag-Erling Smørgrav <des@des.no>
Thu, 14 Aug 2025 12:36:11 +0000 (14:36 +0200)
committerDag-Erling Smørgrav <des@des.no>
Thu, 14 Aug 2025 13:29:34 +0000 (15:29 +0200)
This fixes an unhelpful "Couldn't visit directory: Unknown error: -1" message.

Fixes: 3311bb52cbe4 ("Bring the code supporting directory traversals from bsdtar/tree.[ch] into archive_read_disk.c and modify it. Introduce new APIs archive_read_disk_open and archive_read_disk_descend.")

libarchive/archive_read_disk_posix.c

index 5d8f4be827d247b41013509aaf62e466edb8f6e3..ba0046d75454755899b55c9bc37ba6ae94a3290a 100644 (file)
@@ -862,7 +862,7 @@ next_entry(struct archive_read_disk *a, struct tree *t,
                        tree_enter_initial_dir(t);
                        return (ARCHIVE_FATAL);
                case TREE_ERROR_DIR:
-                       archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
+                       archive_set_error(&a->archive, t->tree_errno,
                            "%s: Couldn't visit directory",
                            tree_current_path(t));
                        tree_enter_initial_dir(t);