efi_loader: duplicate code in efi_dp_from_name
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sat, 13 May 2023 08:00:55 +0000 (10:00 +0200)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sat, 13 May 2023 09:09:51 +0000 (11:09 +0200)
efi_dp_from_name() has duplicate code to replace slash by backslash.
path_to_uefi() called by efi_dp_from_file() already does this.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
lib/efi_loader/efi_device_path.c

index a6a6ef0..c4f0cc2 100644 (file)
@@ -1187,8 +1187,6 @@ efi_status_t efi_dp_from_name(const char *dev, const char *devnr,
        size_t image_size;
        void *image_addr;
        int part = 0;
-       char *filename;
-       char *s;
 
        if (path && !file)
                return EFI_INVALID_PARAMETER;
@@ -1220,17 +1218,7 @@ efi_status_t efi_dp_from_name(const char *dev, const char *devnr,
        if (!path)
                return EFI_SUCCESS;
 
-       filename = calloc(1, strlen(path) + 1);
-       if (!filename)
-               return EFI_OUT_OF_RESOURCES;
-
-       sprintf(filename, "%s", path);
-       /* DOS style file path: */
-       s = filename;
-       while ((s = strchr(s, '/')))
-               *s++ = '\\';
-       *file = efi_dp_from_file(desc, part, filename);
-       free(filename);
+       *file = efi_dp_from_file(desc, part, path);
 
        if (!*file)
                return EFI_INVALID_PARAMETER;