$NetBSD: patch-ba,v 1.1 2009/01/13 12:38:49 drochner Exp $ --- lib-src/allegro/strparse.cpp.orig 2006-11-15 05:12:11.000000000 +0100 +++ lib-src/allegro/strparse.cpp @@ -16,8 +16,9 @@ char String_parse::peek() } -void String_parse::get_nonspace_quoted(char *field) +void String_parse::get_nonspace_quoted(char *field, int flen) { + char *ofield = field; skip_space(); bool quoted = false; if (string[pos] == '"') { @@ -25,7 +26,7 @@ void String_parse::get_nonspace_quoted(c *field++ = '"'; pos = pos + 1; } - while (string[pos] && (quoted || !isspace(string[pos]))) { + while (string[pos] && (quoted || !isspace(string[pos])) && (field - ofield) < (flen - 2)) { if (string[pos] == '"') { if (quoted) { *field++ = '"';