This attached program failed when last character of string is alphabet or number. I'm running in ko_KR.UTF-8 locale. for example, $ locale LANG=ko_KR.UTF-8 LC_CTYPE="ko_KR.UTF-8" LC_NUMERIC="ko_KR.UTF-8" LC_TIME="ko_KR.UTF-8" LC_COLLATE="ko_KR.UTF-8" LC_MONETARY="ko_KR.UTF-8" LC_MESSAGES="ko_KR.UTF-8" LC_PAPER="ko_KR.UTF-8" LC_NAME="ko_KR.UTF-8" LC_ADDRESS="ko_KR.UTF-8" LC_TELEPHONE="ko_KR.UTF-8" LC_MEASUREMENT="ko_KR.UTF-8" LC_IDENTIFICATION="ko_KR.UTF-8" LC_ALL= $./swprintfbug °¡³ª´Ù °¡³ª´Ù $ ./swprintfbug 123 Error occured in swprintf $ ./swprintfbug abc Error occured in swprintf $ ./swprintfbug 123°¡³ª´Ù 123°¡³ª´Ù
Created attachment 532 [details] sample swprintf program
The program code is wrong. swprintf will flag an array if the output array is too small which is always the case for this caode when given ASCII input.