Protect against NULL buffer in the profile functions.
diff --git a/files/profile.c b/files/profile.c
index 71dc7f9..d1d3e90 100644
--- a/files/profile.c
+++ b/files/profile.c
@@ -96,6 +96,8 @@
char quote = '\0';
const char *p;
+ if(!buffer) return;
+
if ((*value == '\'') || (*value == '\"'))
{
if (value[1] && (value[strlen(value)-1] == *value)) quote = *value++;
@@ -761,6 +763,9 @@
BOOL return_values )
{
PROFILEKEY *key;
+
+ if(!buffer) return 0;
+
while (section)
{
if (section->name && !strcasecmp( section->name, section_name ))
@@ -808,6 +813,8 @@
WORD l, cursize = 0;
PROFILESECTION *section;
+ if(!buffer) return 0;
+
for (section = CurProfile->section; section; section = section->next)
if (section->name) {
l = strlen(section->name);
@@ -852,6 +859,8 @@
{
PROFILEKEY *key = NULL;
+ if(!buffer) return 0;
+
if (!def_val) def_val = "";
if (key_name && key_name[0])
{