blob: 23de28e3f36d53c4b8feca06991ea5bff5c1f40a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#include "common.h"
#include <wchar.h>
int main(int argc, char** argv) {
wchar_t buffer[8] = {0};
wcsncat(buffer, L"1234567", 7);
printf("%ls\n", buffer);
/* n=1, buffer has 7 wchars.
* 7+1+1 = 9 > 8 → overflow. Even n=1 can overflow a nearly-full buffer. */
CHK_FAIL_START
wcsncat(buffer, L"X", 1);
CHK_FAIL_END
printf("%ls\n", buffer);
return ret;
}
|