diff options
| author | 2018-02-14 22:35:01 -0500 | |
|---|---|---|
| committer | 2018-02-14 22:35:01 -0500 | |
| commit | f5094be2852be3a3dbd177e03123eb3409ad26b4 (patch) | |
| tree | d1481e703001a48205959ff1e09384a74cceefd7 | |
| parent | Fix gb_math.h constants (diff) | |
Prevent dangerous bug
In the non-x86 version of memcopy, the lack of braces made seemingly conditional statements run unconditionally, potentially causing segfaults.
| -rw-r--r-- | gb.h | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -3798,12 +3798,15 @@ gb_inline void *gb_memcopy(void *dest, void const *source, isize n) { *d++ = *s++; *d++ = *s++; *d++ = *s++; *d++ = *s++; *d++ = *s++; *d++ = *s++; *d++ = *s++; *d++ = *s++; } - if (n & 4) + if (n & 4) { *d++ = *s++; *d++ = *s++; *d++ = *s++; *d++ = *s++; - if (n & 2) + } + if (n & 2) { *d++ = *s++; *d++ = *s++; - if (n & 1) + } + if (n & 1) { *d = *s; + } } #endif |
