# HG changeset patch # User Paul Boddie # Date 1644873663 -3600 # Node ID add33265bcf4fd5608b069b3b925eaff62ed89d8 # Parent 77b98aed9da89f04acf68d7a8c3c3bb98fc61b53 Fixed unlinking of top-level objects. diff -r 77b98aed9da8 -r add33265bcf4 libe2access/lib/src/image.c --- a/libe2access/lib/src/image.c Mon Feb 14 00:46:57 2022 +0100 +++ b/libe2access/lib/src/image.c Mon Feb 14 22:21:03 2022 +0100 @@ -558,13 +558,22 @@ ext2_ino_t ino_parent; errcode_t retval; + /* Copy the path and split it. */ + strcpy(_path, path); basename = path_split(_path); - retval = image_find_path(fs, &remaining, &ino_parent); + /* Determine the parent directory. */ + + if (basename != _path) + { + retval = image_find_path(fs, &remaining, &ino_parent); - if (retval) - return retval; + if (retval) + return retval; + } + else + ino_parent = EXT2_ROOT_INO; return ext2fs_unlink(fs, ino_parent, basename, 0, 0); }