Issue #2920 has been updated by yellowrabbit2010. File eilseq_fix_corrected_2.patch added Tracker changed from Bug to Submit
corrected patch from RockinRoel and, while we are here fix possible NULL pointer dereference. ---------------------------------------- Submit #2920: _ascii_wcsnrtombs, _ascii_mbsnrtowcs, and _none_wcsnrtombs neglect to set src on EILSEQ error http://bugs.dragonflybsd.org/issues/2920#change-12921 * Author: RockinRoel * Status: New * Priority: Normal * Assignee: * Category: * Target version: ---------------------------------------- DragonFlyBSD's libc also suffers from this bug in FreeBSD and Mac OS X: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=209907 I noticed that when using wcsrtombs, if a character is encountered that can not be converted, it sets errno to EILSEQ and returns (size_t)-1. However *src still points to the original character, even though it should point to the character after the one that conversion stopped at. I've attached a test program that reproduces the issue. The expected output is: inptr - in: 7 The actual output is: inptr - in: 0 I've included the patch that fixes it for the none and ascii locale (it's fine for other locales). ---Files-------------------------------- test_wcsrtombs.c (312 Bytes) eilseq_fix.patch (1006 Bytes) eilseq_fix_corrected_2.patch (1.32 KB) -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account