var_get_memory():
if no eol is found in the string we set "next" to NULL, assign it to "buf" and then check the loop condition by dereferencing it - which does not work well. Change the loop condition to first check for buf == NULL.
This commit is contained in:
parent
cba6ac5833
commit
cd0bb111d3
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: var.c,v 1.1.1.3 2009/08/06 16:55:29 joerg Exp $ */
|
||||
/* $NetBSD: var.c,v 1.2 2013/05/16 19:19:44 martin Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2005, 2008 The NetBSD Foundation, Inc.
|
||||
|
@ -39,7 +39,7 @@
|
|||
#if HAVE_SYS_CDEFS_H
|
||||
#include <sys/cdefs.h>
|
||||
#endif
|
||||
__RCSID("$NetBSD: var.c,v 1.1.1.3 2009/08/06 16:55:29 joerg Exp $");
|
||||
__RCSID("$NetBSD: var.c,v 1.2 2013/05/16 19:19:44 martin Exp $");
|
||||
|
||||
#if HAVE_SYS_STAT_H
|
||||
#include <sys/stat.h>
|
||||
|
@ -156,7 +156,7 @@ var_get_memory(const char *buf, const char *variable)
|
|||
value = NULL;
|
||||
valuelen = 0;
|
||||
|
||||
for (; *buf; buf = next) {
|
||||
for (; buf && *buf; buf = next) {
|
||||
if ((eol = strchr(buf, '\n')) != NULL) {
|
||||
next = eol + 1;
|
||||
len = eol - buf;
|
||||
|
|
Loading…
Reference in New Issue