From 3123b2cb92f9dffb8297928ef299880de6b0e7d8 Mon Sep 17 00:00:00 2001 From: millert Date: Thu, 27 Apr 2017 23:54:08 +0000 Subject: [PATCH] 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@ --- lib/libc/nls/catopen.c | 4 ++-- 1 file 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)); } -- 2.20.1