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@dell.com> (and tested) Approved by: kib (mentor) Obtained from: Dell Inc. MFC after: 1 week
This commit is contained in:
parent
807ec56342
commit
4ab93ad1b7
@ -118,6 +118,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)
|
||||
|
Loading…
Reference in New Issue
Block a user