Bugzilla – Bug 1605
Rational Purify reports ABW failures for ACE_Wide_To_Ascii::convert() on Windows XP
Last modified: 2003-10-13 08:56:20
You need to log in before you can comment on or make changes to this bug.
Rational Purify reports the following ABW (Array Bounds Write) errors for calls to WideCharToMultiByte(). [E] ABW: Array bounds write in WideCharToMultiByte {1 occurrence} Writing 65535 bytes to 0x001883a4 (65319 bytes at 0x0018847c illegal) Address 0x001883a4 is argument #5 of WideCharToMultiByte Address 0x001883a4 is 100 bytes into a 316 byte block at 0x00188340 Address 0x001883a4 points to a HeapAlloc'd block in the default heap Thread ID: 0xc7c Error location WideCharToMultiByte [KERNEL32.dll] Allocation location HeapAlloc [KERNEL32.dll] const std::string stringifiedObjRef = string.str ().c_str(); => CORBA::Object_var objS = orb.getOrb()->string_to_object ( stringifiedObjRef.c_str() ); The only place where I can find calls to that API is in ACE_Wide_To_Ascii::convert() in $ACE_ROOT\ace\ ace_wchar.inl. Note that I am using ACE 5.2. I think the problem is that the description for the fourth argument (cchWideChar) to WideCharToMultiByte() has changed. It used to be
Fixed. Please see Sat Oct 11 14:00:29 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu> Thanks for the patch
Reopening the bug
For the record the ChangeLog entry used for reverting the previous change. Mon Oct 13 08:51:29 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>