SIGN IN SIGN UP

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