*** ../bash-4.2-patched/lib/glob/xmbsrtowcs.c 2012-07-08 21:53:19.000000000 -0400 --- lib/glob/xmbsrtowcs.c 2013-02-12 12:00:39.000000000 -0500 *************** *** 217,220 **** --- 217,226 ---- n = mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state); + if (n == 0 && p == 0) + { + wsbuf[wcnum] = L'\0'; + break; + } + /* Compensate for taking single byte on wcs conversion failure above. */ if (wcslength == 1 && (n == 0 || n == (size_t)-1)) *************** *** 222,226 **** state = tmp_state; p = tmp_p; ! wsbuf[wcnum++] = *p++; } else --- 228,238 ---- state = tmp_state; p = tmp_p; ! wsbuf[wcnum] = *p; ! if (*p == 0) ! break; ! else ! { ! wcnum++; p++; ! } } else