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:
Michal Privoznik 2022-01-17 13:22:09 +01:00
parent ce6bb27649
commit 96308ebae9
2 changed files with 2 additions and 14 deletions

View File

@ -648,10 +648,7 @@ static int
dnsmasqCapsRefreshInternal(dnsmasqCaps *caps)
{
g_autoptr(virCommand) vercmd = NULL;
g_autoptr(virCommand) helpcmd = NULL;
g_autofree char *help = NULL;
g_autofree char *version = NULL;
g_autofree char *complete = NULL;
/* Make sure the binary we are about to try exec'ing exists.
* Technically we could catch the exec() failure, but that's
@ -670,16 +667,7 @@ dnsmasqCapsRefreshInternal(dnsmasqCaps *caps)
if (virCommandRun(vercmd, NULL) < 0)
return -1;
helpcmd = virCommandNewArgList(caps->binaryPath, "--help", NULL);
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);
return dnsmasqCapsSetFromBuffer(caps, version);
}
static dnsmasqCaps *

View File

@ -114,7 +114,7 @@ mymain(void)
int ret = 0;
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) \
do { \