diff options
Diffstat (limited to 'include/string.h')
| -rw-r--r-- | include/string.h | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/include/string.h b/include/string.h index 23f598c..44206f0 100644 --- a/include/string.h +++ b/include/string.h | |||
| @@ -140,14 +140,12 @@ _FORTIFY_FN(strncat) char *strncat(char * _FORTIFY_POS0 __d, const char *__s, | |||
| 140 | size_t __b = __bos(__d, 0); | 140 | size_t __b = __bos(__d, 0); |
| 141 | size_t __sl, __dl; | 141 | size_t __sl, __dl; |
| 142 | 142 | ||
| 143 | if (__n > __b) { | 143 | __sl = strlen(__s); |
| 144 | __sl = strlen(__s); | 144 | __dl = strlen(__d); |
| 145 | __dl = strlen(__d); | 145 | if (__sl > __n) |
| 146 | if (__sl > __n) | 146 | __sl = __n; |
| 147 | __sl = __n; | 147 | if (__sl + __dl + 1 > __b) |
| 148 | if (__sl + __dl + 1 > __b) | 148 | __builtin_trap(); |
| 149 | __builtin_trap(); | ||
| 150 | } | ||
| 151 | return __orig_strncat(__d, __s, __n); | 149 | return __orig_strncat(__d, __s, __n); |
| 152 | } | 150 | } |
| 153 | 151 | ||
