mirror of https://gitee.com/openkylin/libvirt.git
virdnsmasq: Don't run 'dnsmasq --help'
We don't query any capabilities of dnsmasq. We are only interested in dnsmasq's version (obtained via 'dnsmasq --version'). Therefore, there's no point in running 'dnsmasq --help'. Its output is not processed even. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Andrea Bolognani <abologna@redhat.com>
This commit is contained in:
parent
ce6bb27649
commit
96308ebae9
|
@ -648,10 +648,7 @@ static int
|
||||||
dnsmasqCapsRefreshInternal(dnsmasqCaps *caps)
|
dnsmasqCapsRefreshInternal(dnsmasqCaps *caps)
|
||||||
{
|
{
|
||||||
g_autoptr(virCommand) vercmd = NULL;
|
g_autoptr(virCommand) vercmd = NULL;
|
||||||
g_autoptr(virCommand) helpcmd = NULL;
|
|
||||||
g_autofree char *help = NULL;
|
|
||||||
g_autofree char *version = NULL;
|
g_autofree char *version = NULL;
|
||||||
g_autofree char *complete = NULL;
|
|
||||||
|
|
||||||
/* Make sure the binary we are about to try exec'ing exists.
|
/* Make sure the binary we are about to try exec'ing exists.
|
||||||
* Technically we could catch the exec() failure, but that's
|
* Technically we could catch the exec() failure, but that's
|
||||||
|
@ -670,16 +667,7 @@ dnsmasqCapsRefreshInternal(dnsmasqCaps *caps)
|
||||||
if (virCommandRun(vercmd, NULL) < 0)
|
if (virCommandRun(vercmd, NULL) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
helpcmd = virCommandNewArgList(caps->binaryPath, "--help", NULL);
|
return dnsmasqCapsSetFromBuffer(caps, version);
|
||||||
virCommandSetOutputBuffer(helpcmd, &help);
|
|
||||||
virCommandAddEnvPassCommon(helpcmd);
|
|
||||||
virCommandClearCaps(helpcmd);
|
|
||||||
if (virCommandRun(helpcmd, NULL) < 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
complete = g_strdup_printf("%s\n%s", version, help);
|
|
||||||
|
|
||||||
return dnsmasqCapsSetFromBuffer(caps, complete);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static dnsmasqCaps *
|
static dnsmasqCaps *
|
||||||
|
|
|
@ -114,7 +114,7 @@ mymain(void)
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
g_autoptr(dnsmasqCaps) full = NULL;
|
g_autoptr(dnsmasqCaps) full = NULL;
|
||||||
|
|
||||||
full = dnsmasqCapsNewFromBuffer("Dnsmasq version 2.67\n--bind-dynamic\n--ra-param");
|
full = dnsmasqCapsNewFromBuffer("Dnsmasq version 2.67");
|
||||||
|
|
||||||
#define DO_TEST(xname, xcaps) \
|
#define DO_TEST(xname, xcaps) \
|
||||||
do { \
|
do { \
|
||||||
|
|
Loading…
Reference in New Issue