Mercurial > gnulib
comparison lib/unistr/u-cpy-alloc.h @ 40212:8da9577294da
unistr/*, uniconv/*: Fix undefined behaviour.
Reported by Jeffrey Walton <noloader@gmail.com>.
* lib/unistr/u-cpy.h (FUNC): Don't invoke memcpy with a zero size.
* lib/unistr/u-cpy-alloc.h (FUNC): Likewise.
* lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
* lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sat, 09 Mar 2019 00:01:47 +0100 |
parents | b06060465f09 |
children |
comparison
equal
deleted
inserted
replaced
40211:5f58d2ac35ea | 40212:8da9577294da |
---|---|
31 UNIT *destptr = dest; | 31 UNIT *destptr = dest; |
32 | 32 |
33 for (; n > 0; n--) | 33 for (; n > 0; n--) |
34 *destptr++ = *s++; | 34 *destptr++ = *s++; |
35 #else | 35 #else |
36 memcpy ((char *) dest, (const char *) s, n * sizeof (UNIT)); | 36 if (n > 0) |
37 memcpy ((char *) dest, (const char *) s, n * sizeof (UNIT)); | |
37 #endif | 38 #endif |
38 } | 39 } |
39 return dest; | 40 return dest; |
40 } | 41 } |