diff options
author | Bruno Haible <bruno@clisp.org> | 2019-03-08 20:38:22 +0100 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2019-03-09 00:04:42 +0100 |
commit | 7e7501fa24bcd2e1484fee5648d88b8d94f0bf38 (patch) | |
tree | f84b90e9d88dcae78ec2a370918b5aea9ee7b73c /lib/unistr | |
parent | 01ec92af9fda3163f3379d5932991b47f011aa33 (diff) | |
download | gnulib-7e7501fa24bcd2e1484fee5648d88b8d94f0bf38.tar.gz |
unistr/u8-cmp: Fix undefined behaviour.
Reported by Jeffrey Walton <noloader@gmail.com>.
* lib/unistr/u8-cmp.c (u8_cmp): Don't invoke memcmp if n is zero.
Diffstat (limited to 'lib/unistr')
-rw-r--r-- | lib/unistr/u8-cmp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/unistr/u8-cmp.c b/lib/unistr/u8-cmp.c index bd2f11bea9..5349ec63d0 100644 --- a/lib/unistr/u8-cmp.c +++ b/lib/unistr/u8-cmp.c @@ -26,5 +26,5 @@ int u8_cmp (const uint8_t *s1, const uint8_t *s2, size_t n) { /* Use the fact that the UTF-8 encoding preserves lexicographic order. */ - return memcmp ((const char *) s1, (const char *) s2, n); + return n == 0 ? 0 : memcmp ((const char *) s1, (const char *) s2, n); } |