mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-11 09:17:52 +03:00
dnsmasq: Fix parsing of the version number
If debugging is enabled, the debug messages are sent to stderr. Moreover, if a command has catching of stderr set, the messages gets mixed with stdout output (assuming both outputs are stored in the same variable). The resulting string then doesn't necessarily have to start with desired prefix then. This bug exposes itself when parsing dnsmasq output: 2012-12-06 11:18:11.445+0000: 18491: error : dnsmasqCapsSetFromBuffer:664 : internal error cannot parse /usr/sbin/dnsmasq version number in '2012-12-06 11:11:02.232+0000: 18492: debug : virFileClose:72 : Closed fd 22' We can clearly see that the output of dnsmasq --version doesn't start with expected "Dnsmasq version " string but a libvirt debug output.
This commit is contained in:
parent
5114431396
commit
ff33f80773
@ -715,7 +715,6 @@ dnsmasqCapsRefreshInternal(dnsmasqCapsPtr caps, bool force)
|
||||
|
||||
cmd = virCommandNewArgList(caps->binaryPath, "--version", NULL);
|
||||
virCommandSetOutputBuffer(cmd, &version);
|
||||
virCommandSetErrorBuffer(cmd, &version);
|
||||
virCommandAddEnvPassCommon(cmd);
|
||||
virCommandClearCaps(cmd);
|
||||
if (virCommandRun(cmd, NULL) < 0) {
|
||||
@ -727,7 +726,6 @@ dnsmasqCapsRefreshInternal(dnsmasqCapsPtr caps, bool force)
|
||||
|
||||
cmd = virCommandNewArgList(caps->binaryPath, "--help", NULL);
|
||||
virCommandSetOutputBuffer(cmd, &help);
|
||||
virCommandSetErrorBuffer(cmd, &help);
|
||||
virCommandAddEnvPassCommon(cmd);
|
||||
virCommandClearCaps(cmd);
|
||||
if (virCommandRun(cmd, NULL) < 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user