From owner-svn-soc-all@FreeBSD.ORG Sat May 28 03:18:05 2011 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from socsvn.FreeBSD.org (unknown [IPv6:2001:4f8:fff6::2f]) by hub.freebsd.org (Postfix) with SMTP id 7A27C106564A for ; Sat, 28 May 2011 03:18:03 +0000 (UTC) (envelope-from zy@FreeBSD.org) Received: by socsvn.FreeBSD.org (sSMTP sendmail emulation); Sat, 28 May 2011 03:18:03 +0000 Date: Sat, 28 May 2011 03:18:03 +0000 From: zy@FreeBSD.org To: svn-soc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <20110528031803.7A27C106564A@hub.freebsd.org> Cc: Subject: socsvn commit: r222497 - in soc2011/zy/nvi-iconv/head/usr.bin/nvi: common ex X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 May 2011 03:18:05 -0000 Author: zy Date: Sat May 28 03:18:03 2011 New Revision: 222497 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=222497 Log: Resolves two number overflow problems based on following facts: 1. CHAT_T (unsigned) overflows to 0; 2. recno_t (unsigned) is set to MAX_REC_NUMBER if strtoul() overflows. Modified: soc2011/zy/nvi-iconv/head/usr.bin/nvi/common/key.c soc2011/zy/nvi-iconv/head/usr.bin/nvi/ex/ex_subst.c Modified: soc2011/zy/nvi-iconv/head/usr.bin/nvi/common/key.c ============================================================================== --- soc2011/zy/nvi-iconv/head/usr.bin/nvi/common/key.c Sat May 28 03:13:09 2011 (r222496) +++ soc2011/zy/nvi-iconv/head/usr.bin/nvi/common/key.c Sat May 28 03:18:03 2011 (r222497) @@ -145,7 +145,7 @@ } /* Find a non-printable character to use as a message separator. */ - for (ch = 1; ch <= MAX_CHAR_T; ++ch) + for (ch = 1; ch != 0; ++ch) /* XXX quit if overflowed */ if (!isprint(ch)) { gp->noprint = ch; break; Modified: soc2011/zy/nvi-iconv/head/usr.bin/nvi/ex/ex_subst.c ============================================================================== --- soc2011/zy/nvi-iconv/head/usr.bin/nvi/ex/ex_subst.c Sat May 28 03:13:09 2011 (r222496) +++ soc2011/zy/nvi-iconv/head/usr.bin/nvi/ex/ex_subst.c Sat May 28 03:18:03 2011 (r222497) @@ -418,12 +418,10 @@ if (*s == '\0') /* Loop increment correction. */ --s; if (errno == ERANGE) { - if (lno == LONG_MAX) + if (lno == MAX_REC_NUMBER) msgq(sp, M_ERR, "153|Count overflow"); - else if (lno == LONG_MIN) - msgq(sp, M_ERR, "154|Count underflow"); else - msgq(sp, M_SYSERR, NULL); + msgq(sp, M_ERR, "154|Count underflow"); return (1); } /*