Fix the ioctl name field in PawnIOLib
Three problems in the same few lines, at both the sync and async call sites: lstrcpynA(p, name, 31) copies at most 30 characters, while the driver accepts 31 -- so a 31-character public the driver would have found failed with an unexplainable "not found". The 32-byte name field comes from _alloca or HeapAlloc and was never zeroed, so uninitialized process memory was shipped to the kernel on every call. A name longer than the field was silently truncated, which resolves to a different public if two of them share a prefix. Reject it instead.
N
namazso committed
35a01b0ea9e258e849074aeb9d326047659e7b2c
Parent: 1f523bf