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 }