diff --git a/src/libCStreamedXML/parser.c b/src/libCStreamedXML/parser.c index aa5f9f6..2e7ae84 100644 --- a/src/libCStreamedXML/parser.c +++ b/src/libCStreamedXML/parser.c @@ -454,7 +454,7 @@ int csxml_feedChar(struct csxml* ctx, char ch) default: if(ch != '=') ERROR("Invalid character in attribute name."); - for(try = 0; (size_t)try < ctx->elemAttrNames.size; ++try) { + for(try = 0; (size_t)try < ctx->elemAttrNames.len; ++try) { if(!strcmp(ctx->elemAttrNames.data[try].data, ctx->buffer.data)) ERROR("Duplicate attribute in element."); } @@ -645,6 +645,8 @@ void csxml_freeParser(struct csxml* ctx) list_free(&ctx->elemStack); list_free(&ctx->elemAttrNames); list_free(&ctx->elemAttrVals); + + free(ctx); }