--- C:\builds\redland-1.0.8_orig\librdf\rdf_statement.c Mon Jun 30 23:10:26 2008 +++ C:\builds\redland-1.0.8_good\librdf\rdf_statement.c Mon Jul 28 12:39:39 2008 @@ -692,6 +692,8 @@ if((fields & LIBRDF_STATEMENT_SUBJECT) && statement->subject) { /* 's' + subject */ if(p) { + if (length < 1) + return 0; *p++='s'; length--; } @@ -713,6 +715,9 @@ if((fields & LIBRDF_STATEMENT_PREDICATE) && statement->predicate) { /* 'p' + predicate */ if(p) { + if (length < 1) + return 0; + *p++='p'; length--; } @@ -732,6 +737,9 @@ if((fields & LIBRDF_STATEMENT_OBJECT) && statement->object) { /* 'o' object */ if(p) { + if (length < 1) + return 0; + *p++='o'; length--; }