Loading

Paste #pjctvrqw0

  1. diff --git a/vendor/qcom/opensource/recovery-ext/oem-recovery/gpt-utils.cpp b/vendor/qcom/opensource/recovery-ext/oem-recovery/gpt-utils.cpp
  2. index 9eece5c48c..629eb6ae52 100644
  3. --- a/vendor/qcom/opensource/recovery-ext/oem-recovery/gpt-utils.cpp
  4. +++ b/vendor/qcom/opensource/recovery-ext/oem-recovery/gpt-utils.cpp
  5. @@ -1096,12 +1096,16 @@ static int get_dev_path_from_partition_name(const char *partname,
  6.                  if (stat(path, &st)) {
  7.                          goto error;
  8.                  }
  9. -                if (readlink(path, buf, buflen) < 0)
  10. -                {
  11. -                        goto error;
  12. -                } else {
  13. -                        buf[PATH_TRUNCATE_LOC] = '\0';
  14. -                }
  15. +                int pathlen;
  16. +                char *res = realpath(path, buf);
  17. +
  18. +                //Remove the partition number from the drive
  19. +                int count = 0;
  20. +                for (int i = 0; buf[i]; i++)
  21. +                    if ((buf[i] >= 'A' && buf[i] <= 'z') || buf[i] == '/')
  22. +                        buf[count++] = buf[i];
  23. +                buf[count] = '\0';
  24. +
  25.          } else {
  26.                  snprintf(buf, buflen, BLK_DEV_FILE);
  27.          }