From owner-svn-src-all@freebsd.org Mon Dec 12 03:46:41 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E6FFAC737D7; Mon, 12 Dec 2016 03:46:41 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9CFE81B2E; Mon, 12 Dec 2016 03:46:41 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id uBC3ke6P003783; Mon, 12 Dec 2016 03:46:40 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id uBC3keb3003780; Mon, 12 Dec 2016 03:46:40 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201612120346.uBC3keb3003780@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Mon, 12 Dec 2016 03:46:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r309873 - head/bin/ed X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Dec 2016 03:46:42 -0000 Author: pfg Date: Mon Dec 12 03:46:40 2016 New Revision: 309873 URL: https://svnweb.freebsd.org/changeset/base/309873 Log: ed(1): Prevent possible overflows during allocation. Make sure the parameters used for malloc(3) can hold size_t sizes. This should help ed(1) handle bigger data in the future. MFC after: 2 weeks Modified: head/bin/ed/ed.h head/bin/ed/glbl.c head/bin/ed/main.c Modified: head/bin/ed/ed.h ============================================================================== --- head/bin/ed/ed.h Mon Dec 12 02:24:54 2016 (r309872) +++ head/bin/ed/ed.h Mon Dec 12 03:46:40 2016 (r309873) @@ -115,7 +115,7 @@ if (--mutex == 0) { \ /* REALLOC: assure at least a minimum size for buffer b */ #define REALLOC(b,n,i,err) \ if ((i) > (n)) { \ - int ti = (n); \ + size_t ti = (n); \ char *ts; \ SPL1(); \ if ((b) != NULL) { \ @@ -141,7 +141,7 @@ if ((i) > (n)) { \ /* REALLOC: assure at least a minimum size for buffer b */ #define REALLOC(b,n,i,err) \ if ((i) > (n)) { \ - int ti = (n); \ + size_t ti = (n); \ char *ts; \ SPL1(); \ if ((ts = (char *) realloc((b), ti += max((i), MINBUFSZ))) == NULL) { \ Modified: head/bin/ed/glbl.c ============================================================================== --- head/bin/ed/glbl.c Mon Dec 12 02:24:54 2016 (r309872) +++ head/bin/ed/glbl.c Mon Dec 12 03:46:40 2016 (r309873) @@ -146,7 +146,7 @@ int set_active_node(line_t *lp) { if (active_last + 1 > active_size) { - int ti = active_size; + size_t ti = active_size; line_t **ts; SPL1(); #if defined(sun) || defined(NO_REALLOC_NULL) Modified: head/bin/ed/main.c ============================================================================== --- head/bin/ed/main.c Mon Dec 12 02:24:54 2016 (r309872) +++ head/bin/ed/main.c Mon Dec 12 03:46:40 2016 (r309873) @@ -1356,7 +1356,7 @@ handle_hup(int signo) char *hup = NULL; /* hup filename */ char *s; char ed_hup[] = "ed.hup"; - int n; + size_t n; if (!sigactive) quit(1);