mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-20 06:50:22 +03:00
tools: Fix comparison in virLoginShellGetShellArgv
Commit id '740e4d70' altered the logic to fetch the sysconf values and added a new virConfGetValueStringList which returns -1 on failure, 0 if missing, and 1 if the value was present. However, the caller only checked !shargv which caught Coverity's attention since the following VIR_ALLOC_N(*shargv, 2) would be a NULL ptr deref Signed-off-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
fee696b6e8
commit
dfb18b0afb
@ -99,10 +99,12 @@ static int virLoginShellGetShellArgv(virConfPtr conf,
|
||||
char ***shargv,
|
||||
size_t *shargvlen)
|
||||
{
|
||||
if (virConfGetValueStringList(conf, "shell", true, shargv) < 0)
|
||||
int rv;
|
||||
|
||||
if ((rv = virConfGetValueStringList(conf, "shell", true, shargv)) < 0)
|
||||
return -1;
|
||||
|
||||
if (!shargv) {
|
||||
if (rv == 0) {
|
||||
if (VIR_ALLOC_N(*shargv, 2) < 0)
|
||||
return -1;
|
||||
if (VIR_STRDUP((*shargv)[0], "/bin/sh") < 0) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user