Changes between Initial Version and Version 1 of Ticket #155


Ignore:
Timestamp:
Apr 24, 2007, 11:07:04 PM (17 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 Status changed from new to closed
    • Property Resolution changed from to fixed
    • Property Summary changed from libc: setlocale crashes in uconv.dll if the codepage bit is too long to libc: 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.