Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Mar 2017 16:10:36 +0000 (UTC)
From:      "Pedro F. Giffuni" <pfg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r314704 - in head/usr.bin: bc dc patch
Message-ID:  <201703051610.v25GAaUO045351@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pfg
Date: Sun Mar  5 16:10:35 2017
New Revision: 314704
URL: https://svnweb.freebsd.org/changeset/base/314704

Log:
  bc/dc/patch: make some use of reallocarray(3).
  
  reallocarray(3) is a non portable extension from OpenBSD. Given that it is
  already in FreeBSD, make easier future merges by adopting in some cases
  where the code has some shared heritage with OpenBSD.
  
  Obtained from:	OpenBSD

Modified:
  head/usr.bin/bc/bc.y
  head/usr.bin/dc/bcode.c
  head/usr.bin/dc/extern.h
  head/usr.bin/dc/inout.c
  head/usr.bin/dc/mem.c
  head/usr.bin/dc/stack.c
  head/usr.bin/patch/inp.c

Modified: head/usr.bin/bc/bc.y
==============================================================================
--- head/usr.bin/bc/bc.y	Sun Mar  5 15:34:32 2017	(r314703)
+++ head/usr.bin/bc/bc.y	Sun Mar  5 16:10:35 2017	(r314704)
@@ -1,5 +1,5 @@
 %{
-/*	$OpenBSD: bc.y,v 1.44 2013/11/20 21:33:54 deraadt Exp $	*/
+/*	$OpenBSD: bc.y,v 1.46 2014/10/14 15:35:18 deraadt Exp $	*/
 
 /*
  * Copyright (c) 2003, Otto Moerbeek <otto@drijf.net>
@@ -771,7 +771,7 @@ grow(void)
 
 	if (current == instr_sz) {
 		newsize = instr_sz * 2 + 1;
-		p = realloc(instructions, newsize * sizeof(*p));
+		p = reallocarray(instructions, newsize, sizeof(*p));
 		if (p == NULL) {
 			free(instructions);
 			err(1, NULL);
@@ -1132,7 +1132,7 @@ main(int argc, char *argv[])
 	init();
 	setvbuf(stdout, NULL, _IOLBF, 0);
 
-	sargv = malloc(argc * sizeof(char *));
+	sargv = reallocarray(NULL, argc, sizeof(char *));
 	if (sargv == NULL)
 		err(1, NULL);
 

Modified: head/usr.bin/dc/bcode.c
==============================================================================
--- head/usr.bin/dc/bcode.c	Sun Mar  5 15:34:32 2017	(r314703)
+++ head/usr.bin/dc/bcode.c	Sun Mar  5 16:10:35 2017	(r314704)
@@ -1,4 +1,4 @@
-/*	$OpenBSD: bcode.c,v 1.45 2012/11/07 11:06:14 otto Exp $	*/
+/*	$OpenBSD: bcode.c,v 1.46 2014/10/08 03:59:56 doug Exp $	*/
 
 /*
  * Copyright (c) 2003, Otto Moerbeek <otto@drijf.net>
@@ -1709,7 +1709,7 @@ eval_string(char *p)
 	if (bmachine.readsp == bmachine.readstack_sz - 1) {
 		size_t newsz = bmachine.readstack_sz * 2;
 		struct source *stack;
-		stack = realloc(bmachine.readstack, newsz *
+		stack = reallocarray(bmachine.readstack, newsz,
 		    sizeof(struct source));
 		if (stack == NULL)
 			err(1, "recursion too deep");

Modified: head/usr.bin/dc/extern.h
==============================================================================
--- head/usr.bin/dc/extern.h	Sun Mar  5 15:34:32 2017	(r314703)
+++ head/usr.bin/dc/extern.h	Sun Mar  5 16:10:35 2017	(r314704)
@@ -1,5 +1,5 @@
 /*	$FreeBSD$						*/
-/*	$OpenBSD: extern.h,v 1.3 2006/01/16 08:09:25 otto Exp $	*/
+/*	$OpenBSD: extern.h,v 1.4 2014/12/01 13:13:00 deraadt Exp $	*/
 
 /*
  * Copyright (c) 2003, Otto Moerbeek <otto@drijf.net>
@@ -35,7 +35,7 @@ struct number	*new_number(void);
 void		 free_number(struct number *);
 struct number	*dup_number(const struct number *);
 void		*bmalloc(size_t);
-void		*brealloc(void *, size_t);
+void		*breallocarray(void *, size_t, size_t);
 char		*bstrdup(const char *p);
 void		 bn_check(int);
 void		 bn_checkp(const void *);

Modified: head/usr.bin/dc/inout.c
==============================================================================
--- head/usr.bin/dc/inout.c	Sun Mar  5 15:34:32 2017	(r314703)
+++ head/usr.bin/dc/inout.c	Sun Mar  5 16:10:35 2017	(r314704)
@@ -1,4 +1,4 @@
-/*	$OpenBSD: inout.c,v 1.17 2012/11/07 11:06:14 otto Exp $	*/
+/*	$OpenBSD: inout.c,v 1.18 2014/12/01 13:13:00 deraadt Exp $	*/
 
 /*
  * Copyright (c) 2003, Otto Moerbeek <otto@drijf.net>
@@ -261,7 +261,7 @@ read_string(struct source *src)
 			escape = false;
 			if (i == sz) {
 				new_sz = sz * 2;
-				p = brealloc(p, new_sz + 1);
+				p = breallocarray(p, 1, new_sz + 1);
 				sz = new_sz;
 			}
 			p[i++] = ch;

Modified: head/usr.bin/dc/mem.c
==============================================================================
--- head/usr.bin/dc/mem.c	Sun Mar  5 15:34:32 2017	(r314703)
+++ head/usr.bin/dc/mem.c	Sun Mar  5 16:10:35 2017	(r314704)
@@ -1,4 +1,4 @@
-/*	$OpenBSD: mem.c,v 1.5 2009/10/27 23:59:37 deraadt Exp $	*/
+/*	$OpenBSD: mem.c,v 1.6 2014/12/01 13:13:00 deraadt Exp $	*/
 
 /*
  * Copyright (c) 2003, Otto Moerbeek <otto@drijf.net>
@@ -72,11 +72,11 @@ bmalloc(size_t sz)
 }
 
 void *
-brealloc(void *p, size_t sz)
+breallocarray(void *p, size_t nmemb, size_t size)
 {
 	void *q;
 
-	q = realloc(p, sz);
+	q = reallocarray(p, nmemb, size);
 	if (q == NULL)
 		err(1, NULL);
 	return (q);

Modified: head/usr.bin/dc/stack.c
==============================================================================
--- head/usr.bin/dc/stack.c	Sun Mar  5 15:34:32 2017	(r314703)
+++ head/usr.bin/dc/stack.c	Sun Mar  5 16:10:35 2017	(r314704)
@@ -1,4 +1,4 @@
-/*	$OpenBSD: stack.c,v 1.12 2014/11/26 15:05:51 otto Exp $	*/
+/*	$OpenBSD: stack.c,v 1.13 2014/12/01 13:13:00 deraadt Exp $	*/
 
 /*
  * Copyright (c) 2003, Otto Moerbeek <otto@drijf.net>
@@ -139,8 +139,8 @@ stack_grow(struct stack *stack)
 
 	if (++stack->sp == stack->size) {
 		new_size = stack->size * 2 + 1;
-		stack->stack = brealloc(stack->stack,
-		    new_size * sizeof(*stack->stack));
+		stack->stack = breallocarray(stack->stack,
+		    new_size, sizeof(*stack->stack));
 		stack->size = new_size;
 	}
 }
@@ -313,7 +313,7 @@ array_grow(struct array *array, size_t n
 {
 	size_t i;
 
-	array->data = brealloc(array->data, newsize * sizeof(*array->data));
+	array->data = breallocarray(array->data, newsize, sizeof(*array->data));
 	for (i = array->size; i < newsize; i++) {
 		array->data[i].type = BCODE_NONE;
 		array->data[i].array = NULL;

Modified: head/usr.bin/patch/inp.c
==============================================================================
--- head/usr.bin/patch/inp.c	Sun Mar  5 15:34:32 2017	(r314703)
+++ head/usr.bin/patch/inp.c	Sun Mar  5 16:10:35 2017	(r314704)
@@ -23,7 +23,7 @@
  * -C option added in 1998, original code by Marc Espie, based on FreeBSD
  * behaviour
  *
- * $OpenBSD: inp.c,v 1.36 2012/04/10 14:46:34 ajacoutot Exp $
+ * $OpenBSD: inp.c,v 1.44 2015/07/26 14:32:19 millert Exp $
  * $FreeBSD$
  */
 
@@ -118,7 +118,7 @@ reallocate_lines(size_t *lines_allocated
 	size_t	new_size;
 
 	new_size = *lines_allocated * 3 / 2;
-	p = realloc(i_ptr, (new_size + 2) * sizeof(char *));
+	p = reallocarray(i_ptr, new_size + 2, sizeof(char *));
 	if (p == NULL) {	/* shucks, it was a near thing */
 		munmap(i_womp, i_size);
 		i_womp = NULL;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201703051610.v25GAaUO045351>