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.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/6423#note_81373