commit - 9b6578d818b4e251ebb1efdeaf441385c713a4f1
commit + eb4304b986b18116e2fe6b1b45f805ec895d451c
blob - 917cd5d8b0d2657829ef7fa395ed2320226cffaa
blob + d1223209f4d236906d280ad91c80f5e0992e0c72
--- lib/path.c
+++ lib/path.c
return got_error(GOT_ERR_BAD_PATH);
if (strncmp(parent_abspath, abspath, len_parent) != 0)
return got_error(GOT_ERR_BAD_PATH);
- if (abspath[len_parent] != '/')
+ if (!got_path_is_root_dir(parent_abspath) && abspath[len_parent] != '/')
return got_error(GOT_ERR_BAD_PATH);
while (abspath[len_parent] == '/')
abspath++;
int
got_path_is_child(const char *child, const char *parent, size_t parent_len)
{
- if (parent_len == 0)
+ if (parent_len == 0 || got_path_is_root_dir(parent))
return 1;
if (strncmp(parent, child, parent_len) != 0)