Nikolay Sivov (@nsivov) commented about dlls/ntdll/unix/system.c:
- if(!name || !vendor || !attrib)
- {
return ERROR_INVALID_PARAMETER;
- }
- cname = (char *) malloc(name->Length);
- ntdll_wcstoumbs(name->Buffer, name->Length, cname, name->Length, FALSE);
- snprintf(filename, sizeof(filename),
"/sys/firmware/efi/efivars/%s-%08lx-%04hx-%04hx-%02hhx%02hhx-%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx",
cname, (unsigned long)vendor->Data1, vendor->Data2, vendor->Data3,
vendor->Data4[0], vendor->Data4[1], vendor->Data4[2], vendor->Data4[3],
vendor->Data4[4], vendor->Data4[5], vendor->Data4[6], vendor->Data4[7]);
- fd = open(filename, O_RDONLY | O_NONBLOCK);
- if (fd < 0)
This could use stricter == -1.