summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>2017-04-27 23:54:09 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>2017-04-27 23:54:09 +0000
commitd5bf36c73ad6f3be30bcc45ed5b18dd0aed8f376 (patch)
tree3b0e42e548ed24cbd5a548d57bf11ea8aee7dc00
parent66eae0243e41e20427b687030f3ba2ae477c56fc (diff)
ntohl() returns uint32_t so it cannot be < 0. Since we're storing
the result in an int check for > INT_MAX instead. OK bluhm@
-rw-r--r--lib/libc/nls/catopen.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libc/nls/catopen.c b/lib/libc/nls/catopen.c
index af7869bdc7c..e03ebaf0a90 100644
--- a/lib/libc/nls/catopen.c
+++ b/lib/libc/nls/catopen.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: catopen.c,v 1.20 2016/09/21 04:38:56 guenther Exp $ */
+/* $OpenBSD: catopen.c,v 1.21 2017/04/27 23:54:08 millert Exp $ */
/*-
* Copyright (c) 1996 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -266,7 +266,7 @@ verify_msgcat(nl_catd catd)
/* retrieve largest string offset */
for (j = index; j < nmsgs; j++) {
- if (ntohl(msg[j].__offset) < 0)
+ if (ntohl(msg[j].__offset) > INT_MAX)
return (1);
off = MAXIMUM(off, ntohl(msg[j].__offset));
}