[libvirt] [PATCH] build: prefer mkostemp for multi-thread safety

Martin Kletzander mkletzan at redhat.com
Thu Nov 1 13:51:13 UTC 2012


On 11/01/2012 02:32 PM, Leonardo Arena wrote:
> On Wed, 2012-10-31 at 10:10 -0600, Eric Blake wrote:
>> On 10/31/2012 09:45 AM, Martin Kletzander wrote:
>>> On 10/31/2012 03:42 PM, Eric Blake wrote:
>>>> https://bugzilla.redhat.com/show_bug.cgi?id=871756
>>>>
>>>> Commit cd1e8d1 assumed that systems new enough to have journald
>>>> also have mkostemp; but this is not true for uclibc.
>>>>
>>>> For that matter, use of mkstemp[s] is unsafe in a multi-threaded
>>>> program.  We should prefer mkostemp[s] in the first place.
>>
>>>> -    fd = mkstemps(ret, 4);
>>>> +    fd = mkostemps(ret, 4, O_CLOEXEC);
>>>>      if (fd == -1) {
>>>>          vshError(ctl, _("mkstemps: failed to create temporary file: %s"),
>>>
>>> This message should be changed as well.
>>>
>>>>                   virStrerror(errno, ebuf, sizeof(ebuf)));
>>>>
>>>
>>> ACK with that changed.
>>
>> Fixed and pushed.  Hopefully Leonardo can give libvirt.git a test (since
>> we probably won't have any more rc builds between now and 1.0.0 on Friday).
>>
> 
> Unfortunately I'm having some issues in making the distribution, due to automake affected by CVE-2012-3386, and bootstrapping in Alpine (with fixed automake) has some other issues. If there's anyone that can send me a tarball, I'll test it asap.
> 
> Thank you
> 
> -leonardo
> 

Feel free to grab this one:
http://people.redhat.com/mkletzan/libvirt-0.10.2.tar.gz

I hope doing 'make dist' was enough =)

Martin




More information about the libvir-list mailing list