]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
dracut-install: remove double "//" in path names
authorHarald Hoyer <harald@redhat.com>
Thu, 30 Nov 2017 14:07:48 +0000 (15:07 +0100)
committerHarald Hoyer <harald@redhat.com>
Thu, 30 Nov 2017 14:07:48 +0000 (15:07 +0100)
makes relative symlinks shorter

install/dracut-install.c

index 82e882cc562387b89902ea0e2cf6a5fca8909581..90077226bb20a7ea5e794d187d4888cfc05f885d 100644 (file)
@@ -633,7 +633,7 @@ static int dracut_install(const char *src, const char *dst, bool isdir, bool res
 
         hashmap_put(items, i, i);
 
-        ret = asprintf(&fulldstpath, "%s/%s", destrootdir, dst);
+        ret = asprintf(&fulldstpath, "%s/%s", destrootdir, (dst[0]=='/' ? (dst+1) : dst));
         if (ret < 0) {
                 log_error("Out of memory!");
                 exit(EXIT_FAILURE);
@@ -720,7 +720,7 @@ static int dracut_install(const char *src, const char *dst, bool isdir, bool res
                 if (lstat(fulldstpath, &sb) != 0) {
                         _cleanup_free_ char *absdestpath = NULL;
 
-                        ret = asprintf(&absdestpath, "%s/%s", destrootdir, abspath);
+                        ret = asprintf(&absdestpath, "%s/%s", destrootdir, (abspath[0]=='/' ? (abspath+1) : abspath));
                         if (ret < 0) {
                                 log_error("Out of memory!");
                                 exit(EXIT_FAILURE);