[libvirt] [PATCH 6/6] xend: Escape reserved sexpr characters

Cole Robinson crobinso at redhat.com
Mon Nov 22 21:44:28 UTC 2010


On 11/22/2010 01:08 PM, Eric Blake wrote:
> On 11/22/2010 10:28 AM, Cole Robinson wrote:
>> If we don't escape ' or \ xend can't parse the generated sexpr. This
>> might over apply the EscapeSexpr routine, but it shouldn't hurt.
>>
>> Signed-off-by: Cole Robinson <crobinso at redhat.com>
>> ---
>>  src/util/buf.c                             |   55 ++++++++++++++
>>  src/util/buf.h                             |    1 +
>>  src/xen/xend_internal.c                    |  112 +++++++++++++++------------
>>  tests/xml2sexprdata/xml2sexpr-escape.sexpr |    1 +
>>  tests/xml2sexprdata/xml2sexpr-escape.xml   |   24 ++++++
>>  tests/xml2sexprtest.c                      |    1 +
>>  6 files changed, 144 insertions(+), 50 deletions(-)
>>  create mode 100644 tests/xml2sexprdata/xml2sexpr-escape.sexpr
>>  create mode 100644 tests/xml2sexprdata/xml2sexpr-escape.xml
> 
> ACK series, with two nits:
> 
> You also need to update src/libvirt_private.syms:
> 
> diff --git i/src/libvirt_private.syms w/src/libvirt_private.syms
> index 9ed05df..edbc4bc 100644
> --- i/src/libvirt_private.syms
> +++ w/src/libvirt_private.syms
> @@ -23,6 +23,7 @@ virBufferAdd;
>  virBufferAddChar;
>  virBufferContentAndReset;
>  virBufferError;
> +virBufferEscapeSexpr;
>  virBufferEscapeString;
>  virBufferFreeAndReset;
>  virBufferStrcat;
> 
> 
>> @@ -5322,8 +5322,9 @@ xenDaemonFormatSxprChr(virDomainChrDefPtr def,
>>          break;
>>  
>>      case VIR_DOMAIN_CHR_TYPE_UNIX:
>> -        virBufferVSprintf(buf, "%s:%s%s", type,
>> -                          def->data.nix.path,
>> +        virBufferVSprintf(buf, "%s:", type);
>> +        virBufferEscapeSexpr(buf, "%s", def->data.nix.path);
>> +        virBufferVSprintf(buf, "%s",
>>                            def->data.nix.listen ? ",server,nowait" : "");
> 
> Change that last line to:
> 
> if (def->data.nix.listen)
>     virBufferAddLit(buf, ",server,nowait");
> 

Thanks, pushed with those changes.

- Cole




More information about the libvir-list mailing list