Check for enough buffer space in PROFILE_GetSection().
diff --git a/files/profile.c b/files/profile.c index 5ae6f65..116060d 100644 --- a/files/profile.c +++ b/files/profile.c
@@ -722,6 +722,8 @@ PROFILE_CopyEntry( buffer, key->name, len - 1, handle_env ); len -= strlen(buffer) + 1; buffer += strlen(buffer) + 1; + if (len < 2) + break; if (return_values && key->value) { buffer[-1] = '='; PROFILE_CopyEntry ( buffer,