summaryrefslogtreecommitdiff
path: root/lib/unistr
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2019-03-08 20:38:22 +0100
committerBruno Haible <bruno@clisp.org>2019-03-09 00:04:42 +0100
commit7e7501fa24bcd2e1484fee5648d88b8d94f0bf38 (patch)
treef84b90e9d88dcae78ec2a370918b5aea9ee7b73c /lib/unistr
parent01ec92af9fda3163f3379d5932991b47f011aa33 (diff)
downloadgnulib-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.c2
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);
}