]> code.delx.au - refind/blobdiff - refind/lib.c
Protection against loading invalid EFI drivers; bug fix for using
[refind] / refind / lib.c
index d0af83baf4e592500c8bcd9cdf85686e76453fed..f0b0e6f169fd0dd882cf650090d75bd65be1e195 100644 (file)
@@ -115,10 +115,11 @@ static VOID UninitVolumes(VOID);
 // isn't present.
 VOID CleanUpPathNameSlashes(IN OUT CHAR16 *PathName) {
    CHAR16   *NewName;
-   UINTN    i, FinalChar = 0;
+   UINTN    i, Length, FinalChar = 0;
    BOOLEAN  LastWasSlash = FALSE;
 
-   NewName = AllocateZeroPool(sizeof(CHAR16) * (StrLen(PathName) + 2));
+   Length = StrLen(PathName);
+   NewName = AllocateZeroPool(sizeof(CHAR16) * (Length + 2));
    if (NewName != NULL) {
       for (i = 0; i < StrLen(PathName); i++) {
          if ((PathName[i] == L'/') || (PathName[i] == L'\\')) {