[libvirt] [PATCH v2] udev: fix crash in libudev logging
Ján Tomko
jtomko at redhat.com
Fri Jun 14 10:54:18 UTC 2013
On 06/14/2013 11:18 AM, Michal Privoznik wrote:
> On 14.06.2013 10:53, Guannan Ren wrote:
>> On 06/13/2013 09:56 PM, Ján Tomko wrote:
>>> + virBuffer buf = VIR_BUFFER_INITIALIZER;
>>> + const char *format = NULL;
>>> +
>>> + virBufferAdd(&buf, fmt, -1);
>>> + virBufferTrim(&buf, "\n", -1);
>>> +
>>
>> We need a virBufferError checking here before formatting into
>> a string.
virBufferContentAndReset already checks for the error and returns NULL if
there was one. The only possible error here is ENOMEM.
>
> In which case we want to got with fmt as provided.
>
> Michal
>
If we aren't going to report the buffer error, I think checking format for
NULL should be enough.
I'll squash this in before pushing:
diff --git a/src/node_device/node_device_udev.c
b/src/node_device/node_device_udev.c
index b462549..bb58415 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -374,10 +374,9 @@ udevLogFunction(struct udev *udev ATTRIBUTE_UNUSED,
format = virBufferContentAndReset(&buf);
- if (format)
- virLogVMessage(VIR_LOG_FROM_LIBRARY,
- virLogPriorityFromSyslog(priority),
- file, line, fn, NULL, format, args);
+ virLogVMessage(VIR_LOG_FROM_LIBRARY,
+ virLogPriorityFromSyslog(priority),
+ file, line, fn, NULL, format ? format : fmt, args);
VIR_FREE(format);
}
Jan
More information about the libvir-list
mailing list