diff --git a/libisoburn/trunk/xorriso/disk_ops.c b/libisoburn/trunk/xorriso/disk_ops.c index 8b3d1e6e..591d62f8 100644 --- a/libisoburn/trunk/xorriso/disk_ops.c +++ b/libisoburn/trunk/xorriso/disk_ops.c @@ -1679,10 +1679,13 @@ int Xorriso_make_restore_path(struct XorrisO *xorriso, } if(strlen(dpfx) + strlen(img_path) - li + 1 >= SfileadrL) return(-1); - if(img_path[li]=='/') - sprintf(disk_path, "%s/%s", dpfx, img_path + li + 1); - else - strcpy(disk_path, dpfx); + if(img_path[li]=='/') { + if(dpfx[0] == '/' && dpfx[1] == 0) + sprintf(disk_path, "/%s", img_path + li + 1); + else + sprintf(disk_path, "%s/%s", dpfx, img_path + li + 1); + } else + strcpy(disk_path, dpfx); /* img_path[li] is 0, img_path equals ipfx */ found_s= s; found_d= d; if(s != *img_prefixes || !(flag & 1))