svn commit: r288500 - stable/9/sbin/dmesg
Eric van Gyzen
vangyzen at FreeBSD.org
Fri Oct 2 15:07:03 UTC 2015
Author: vangyzen
Date: Fri Oct 2 15:07:02 2015
New Revision: 288500
URL: https://svnweb.freebsd.org/changeset/base/288500
Log:
MFC r281787
dmesg: accommodate message buffer growth between the sysctl calls
Allocate 12.5% extra space to avoid ENOMEM when the message buffer
is growing steadily.
Reported by: Steve Wahl <steve_wahl at dell.com> (and tested)
Approved by: kib (mentor until recently)
Obtained from: Dell Inc.
Modified:
stable/9/sbin/dmesg/dmesg.c
Directory Properties:
stable/9/sbin/dmesg/ (props changed)
Modified: stable/9/sbin/dmesg/dmesg.c
==============================================================================
--- stable/9/sbin/dmesg/dmesg.c Fri Oct 2 14:36:41 2015 (r288499)
+++ stable/9/sbin/dmesg/dmesg.c Fri Oct 2 15:07:02 2015 (r288500)
@@ -112,6 +112,9 @@ main(int argc, char *argv[])
*/
if (sysctlbyname("kern.msgbuf", NULL, &buflen, NULL, 0) == -1)
err(1, "sysctl kern.msgbuf");
+ /* Allocate extra room for growth between the sysctl calls. */
+ buflen += buflen/8;
+ /* Allocate more than sysctl sees, for room to append \n\0. */
if ((bp = malloc(buflen + 2)) == NULL)
errx(1, "malloc failed");
if (sysctlbyname("kern.msgbuf", bp, &buflen, NULL, 0) == -1)
More information about the svn-src-stable-9
mailing list