list-deltas: Don't break on non-subdir entries
authorAlexander Larsson <alexl@redhat.com>
Mon, 31 Aug 2020 15:00:39 +0000 (17:00 +0200)
committerAlexander Larsson <alexl@redhat.com>
Fri, 11 Sep 2020 09:45:24 +0000 (11:45 +0200)
ostree_repo_list_static_delta_names() tried to validate that
any second-level directory element was a directory, but there was
a cut-and-paste issue, and it used `dent->d_type` instead
of `sub_dent->d_type`.

This fixes the code, but all old ostree versions will break if
there are non-directories in a subdirectory of the deltas directory
in the repo, so be wary.

src/libostree/ostree-repo-static-delta-core.c

index ade4e9dff2d697711b378e872821033662d57c06..d12bf4394302f647d76793ae0d8f91e4c37aaff8 100644 (file)
@@ -109,7 +109,7 @@ ostree_repo_list_static_delta_names (OstreeRepo                  *self,
             return FALSE;
           if (sub_dent == NULL)
             break;
-          if (dent->d_type != DT_DIR)
+          if (sub_dent->d_type != DT_DIR)
             continue;
 
           const char *name1 = dent->d_name;