diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/wchar.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/include/wchar.h b/include/wchar.h index 16895e5..ca9840a 100644 --- a/include/wchar.h +++ b/include/wchar.h | |||
| @@ -59,7 +59,7 @@ __fortify_mbstowcs(wchar_t *ws, const char *s, size_t wn) | |||
| 59 | { | 59 | { |
| 60 | size_t bos = __builtin_object_size(ws, 0); | 60 | size_t bos = __builtin_object_size(ws, 0); |
| 61 | 61 | ||
| 62 | if (wn > bos / sizeof(wchar_t)) | 62 | if (ws && wn > bos / sizeof(wchar_t)) |
| 63 | __builtin_trap(); | 63 | __builtin_trap(); |
| 64 | return mbstowcs(ws, s, wn); | 64 | return mbstowcs(ws, s, wn); |
| 65 | } | 65 | } |
| @@ -70,7 +70,7 @@ __fortify_wcrtomb(char *s, wchar_t wc, mbstate_t *st) | |||
| 70 | { | 70 | { |
| 71 | size_t bos = __builtin_object_size(s, 0); | 71 | size_t bos = __builtin_object_size(s, 0); |
| 72 | 72 | ||
| 73 | if (MB_CUR_MAX > bos) | 73 | if (s && MB_CUR_MAX > bos) |
| 74 | __builtin_trap(); | 74 | __builtin_trap(); |
| 75 | return wcrtomb(s, wc, st); | 75 | return wcrtomb(s, wc, st); |
| 76 | } | 76 | } |
| @@ -167,7 +167,7 @@ __fortify_wcstombs(char *s, const wchar_t *ws, size_t n) | |||
| 167 | { | 167 | { |
| 168 | size_t bos = __builtin_object_size(s, 0); | 168 | size_t bos = __builtin_object_size(s, 0); |
| 169 | 169 | ||
| 170 | if (n > bos) | 170 | if (s && n > bos) |
| 171 | __builtin_trap(); | 171 | __builtin_trap(); |
| 172 | return wcstombs(s, ws, n); | 172 | return wcstombs(s, ws, n); |
| 173 | } | 173 | } |
| @@ -178,7 +178,7 @@ __fortify_wctomb(char *s, wchar_t wc) | |||
| 178 | { | 178 | { |
| 179 | size_t bos = __builtin_object_size(s, 0); | 179 | size_t bos = __builtin_object_size(s, 0); |
| 180 | 180 | ||
| 181 | if (MB_CUR_MAX > bos) | 181 | if (s && MB_CUR_MAX > bos) |
| 182 | __builtin_trap(); | 182 | __builtin_trap(); |
| 183 | return wctomb(s, wc); | 183 | return wctomb(s, wc); |
| 184 | } | 184 | } |
