[Yum-devel] [PATCH] ensure all attribute values are utf-8-encoded strs and properly xml-attribute-escaped

Seth Vidal skvidal at fedoraproject.org
Tue Aug 18 15:03:32 UTC 2009



On Thu, 6 Aug 2009, Mike Bonnet wrote:

> On 08/06/2009 03:17 PM, James Antill wrote:
>> On Tue, 2009-08-04 at 18:22 -0400, Mike Bonnet wrote:
>>> When reading package metadata out of a database, sqlite returns unicode 
>>> objects.
>>
>>   This seems fine, to me, from a correctness POV. However:
>> 
>>> diff --git a/yum/packages.py b/yum/packages.py
>>> index a7e81e6..af33d94 100644
>>> --- a/yum/packages.py
>>> +++ b/yum/packages.py
>>> @@ -863,13 +863,13 @@ class YumAvailablePackage(PackageObject, RpmBase):
>>>            for (name, flags, (e,v,r)) in mylist:
>>>                pcostring = '''<rpm:entry name="%s"''' % misc.to_xml(name, 
>>> attrib=True)
>>>                if flags:
>>> -                pcostring += ''' flags="%s"''' % flags
>>> +                pcostring += ''' flags="%s"''' % misc.to_xml(flags, 
>>> attrib=True)
>>
>>   Is it really necessary to use to_xml() instead of just to_utf8()? The
>> obvious difference would be does that affect performance? I'm guessing
>> it's probably fine, but any significant difference is going to add up on
>> a rawhide compose.
>
> In all of the instances here the values are being used in XML attributes, 
> which is why I'm using to_xml(attrib=True).  This handles the case of a 
> version or release containing a value not allowed in an attribute (a < or " 
> for example).  Not likely, but possible.

agreed and will be committed shortly. Thank you.

-sv



More information about the Yum-devel mailing list