Changes between Initial Version and Version 1 of Ticket #155


Ignore:
Timestamp:
Apr 25, 2007, 1:07:04 AM (18 years ago)
Author:
bird
Comment:

Turns out the problem was a UniFreeUconvObject(NULL) call that would crash on the 2nd call for some reason. It should've been a UniFreeLocalObject so there was a tiny leak as well. weird.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #155

    • Property Resolutionfixed
    • Property Status newclosed
    • Property Summary libc: setlocale crashes in uconv.dll if the codepage bit is too longlibc: setlocale calls UniFreeUconvObjec(NULL) instead of UniFreeLocalObject causing crash in UConv.dll
  • Ticket #155 – Description

    initial v1  
    1 The perl lib/locale.t failes on the {{{setlocale(LC_ALL, "ar_dz.arabic8.UTF-8")}}} call. Creating the UConv object causes a crash in UCONV.DLL. Trying the abc game I find that it starts crashing with {{{setlocale(LC_ALL, "ar_dz.abcdefghij")}}}. The crash is a buffer overflow / heap corruption of some kind. So, setlocale should probably refuse passing anything to UConv which will trigger this problem.
     1The perl lib/locale.t failes on the {{{setlocale(LC_ALL, "ar_dz.arabic8.UTF-8")}}} call. Creating the UConv object causes a crash in UCONV.DLL. Trying the abc game I find that it starts crashing with {{{setlocale(LC_ALL, "ar_dz.abcdefghij")}}}, however it's not quite as simple. see last comment.