https://bugs.winehq.org/show_bug.cgi?id=45320
--- Comment #13 from Jason Edmeades us@edmeades.me.uk --- I started with trying that, then I deliberately didn't sort the count and length when allocating the blocks, because I was concerned about the memcpy where it takes the GetEnvironmentStrings (which includes the =C:) and copies it into the allocated memory (len would be too short, and I didnt want the performance hit of copying smaller chunks).
I think looking again, you would be correct that I can fix count, so effectively you have an accurate size for the char * pointers, just leaving the actual data copied in would still contain the =C: with no pointers to it. As you say, it'll only save a few bytes, but its probably cleaner.