Module Name:    src
Committed By:   nia
Date:           Sat Mar 12 08:32:02 UTC 2022

Modified Files:
        src/lib/libc/gen: setmode.c

Log Message:
setmode(3): use reallocarr instead of realloc(x * y)


To generate a diff of this commit:
cvs rdiff -u -r1.35 -r1.36 src/lib/libc/gen/setmode.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/gen/setmode.c
diff -u src/lib/libc/gen/setmode.c:1.35 src/lib/libc/gen/setmode.c:1.36
--- src/lib/libc/gen/setmode.c:1.35	Sat Mar 12 08:28:30 2022
+++ src/lib/libc/gen/setmode.c	Sat Mar 12 08:32:02 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: setmode.c,v 1.35 2022/03/12 08:28:30 nia Exp $	*/
+/*	$NetBSD: setmode.c,v 1.36 2022/03/12 08:32:02 nia Exp $	*/
 
 /*
  * Copyright (c) 1989, 1993, 1994
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)setmode.c	8.2 (Berkeley) 3/25/94";
 #else
-__RCSID("$NetBSD: setmode.c,v 1.35 2022/03/12 08:28:30 nia Exp $");
+__RCSID("$NetBSD: setmode.c,v 1.36 2022/03/12 08:32:02 nia Exp $");
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -163,9 +163,11 @@ common:			if (set->cmd2 & CMD2_CLR) {
 	if (set >= endset) {						\
 		BITCMD *newset;						\
 		setlen += SET_LEN_INCR;					\
-		newset = realloc(saveset, sizeof(BITCMD) * setlen);	\
-		if (newset == NULL)					\
+		newset = saveset;					\
+		if (reallocarr(&newset, setlen, sizeof(BITCMD)) != 0) {	\
+			errno = ENOMEM;					\
 			goto out;					\
+		}							\
 		set = newset + (set - saveset);				\
 		saveset = newset;					\
 		endset = newset + (setlen - 2);				\

Reply via email to