Page MenuHomeFreeBSD

D29620.id86941.diff
No OneTemporary

D29620.id86941.diff

Index: usr.sbin/efivar/efivar.c
===================================================================
--- usr.sbin/efivar/efivar.c
+++ usr.sbin/efivar/efivar.c
@@ -118,15 +118,23 @@
static void
breakdown_name(char *name, efi_guid_t *guid, char **vname)
{
- char *cp;
-
- cp = strrchr(name, '-');
- if (cp == NULL)
- rep_errx(1, "Invalid name: %s", name);
- *vname = cp + 1;
- *cp = '\0';
- if (efi_name_to_guid(name, guid) < 0)
- rep_errx(1, "Invalid guid %s", name);
+ char *cp, *ocp;
+ bool again = true;
+
+ ocp = NULL;
+ while (again) {
+ again = false;
+ cp = strrchr(name, '-');
+ if (cp == NULL)
+ rep_errx(1, "Invalid guid: %s", name);
+ if (ocp != NULL)
+ *ocp = '-';
+ *vname = cp + 1;
+ *cp = '\0';
+ ocp = cp;
+ if (efi_name_to_guid(name, guid) < 0)
+ again = true;
+ }
}
static uint8_t *

File Metadata

Mime Type
text/plain
Expires
Tue, Jun 23, 1:52 AM (3 h, 23 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34224696
Default Alt Text
D29620.id86941.diff (822 B)

Event Timeline