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); \