[Open-scap] [PATCH 1/2] trac#167: Escape content of xccdf:value

Martin Preisler mpreisle at redhat.com
Thu Aug 23 12:40:26 UTC 2012


Merged, thanks!

See de0f8bb2791e69ed29593889835dc219a46e9b48.

-- 
Martin Preisler

----- Original Message -----
> From: "Simon Lukasik" <slukasik at redhat.com>
> To: open-scap-list at redhat.com
> Sent: Thursday, August 23, 2012 12:52:22 PM
> Subject: [Open-scap] [PATCH 1/2] trac#167: Escape content of xccdf:value
> 
> Subsequent xmlNodeSetContent call expects XML CDATA,
> thus we need the string to be escaped first.
> 
> Addressing (suppose <xccdf:value>R&B</xccdf:value>):
> error : unterminated entity reference B
> ---
>  src/XCCDF/value.c |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/src/XCCDF/value.c b/src/XCCDF/value.c
> index c499df4..01044a5 100644
> --- a/src/XCCDF/value.c
> +++ b/src/XCCDF/value.c
> @@ -153,7 +153,9 @@ static void xccdf_unit_node(struct oscap_list
> *list, xccdf_value_type_t type, co
>  	if (!given) return;
>  	xmlNode *node = xmlNewNode(ns, BAD_CAST elname);
>  	if ((selector) && (strlen(selector) > 0)) xmlNewProp(node, BAD_CAST
>  	"selector", BAD_CAST selector);
> -    xmlNodeSetContent(node, BAD_CAST u);
> +	xmlChar *escaped = xmlEncodeSpecialChars(NULL, BAD_CAST u);
> +	xmlNodeSetContent(node, escaped);
> +	xmlFree(escaped);
>  	oscap_list_add(list, node);
>  }
>  
> --
> 1.7.7.6
> 
> _______________________________________________
> Open-scap-list mailing list
> Open-scap-list at redhat.com
> https://www.redhat.com/mailman/listinfo/open-scap-list
> 




More information about the Open-scap-list mailing list