mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 12:35:17 +00:00
phyp: Check for exit_status < 0 before parsing the result
This commit is contained in:
parent
7ecb50c2a6
commit
cdf7a40d9c
@ -508,7 +508,7 @@ phypGetLparNAME(LIBSSH2_SESSION * session, const char *managed_system,
|
||||
|
||||
ret = phypExec(session, cmd, &exit_status, conn);
|
||||
|
||||
if (ret == NULL)
|
||||
if (exit_status < 0 || ret == NULL)
|
||||
goto err;
|
||||
|
||||
char *char_ptr = strchr(ret, '\n');
|
||||
@ -516,9 +516,6 @@ phypGetLparNAME(LIBSSH2_SESSION * session, const char *managed_system,
|
||||
if (char_ptr)
|
||||
*char_ptr = '\0';
|
||||
|
||||
if (exit_status < 0 || ret == NULL)
|
||||
goto err;
|
||||
|
||||
VIR_FREE(cmd);
|
||||
return ret;
|
||||
|
||||
@ -593,16 +590,13 @@ phypGetLparMem(virConnectPtr conn, const char *managed_system, int lpar_id,
|
||||
|
||||
ret = phypExec(session, cmd, &exit_status, conn);
|
||||
|
||||
if (ret == NULL)
|
||||
if (exit_status < 0 || ret == NULL)
|
||||
goto err;
|
||||
|
||||
char *mem_char_ptr = strchr(ret, '\n');
|
||||
char_ptr = strchr(ret, '\n');
|
||||
|
||||
if (mem_char_ptr)
|
||||
*mem_char_ptr = '\0';
|
||||
|
||||
if (exit_status < 0)
|
||||
goto err;
|
||||
if (char_ptr)
|
||||
*char_ptr = '\0';
|
||||
|
||||
if (virStrToLong_i(ret, &char_ptr, 10, &memory) == -1)
|
||||
goto err;
|
||||
@ -641,6 +635,7 @@ phypGetLparCPUGeneric(virConnectPtr conn, const char *managed_system,
|
||||
LIBSSH2_SESSION *session = connection_data->session;
|
||||
char *cmd = NULL;
|
||||
char *ret = NULL;
|
||||
char *char_ptr;
|
||||
int exit_status = 0;
|
||||
int vcpus = 0;
|
||||
|
||||
@ -663,10 +658,10 @@ phypGetLparCPUGeneric(virConnectPtr conn, const char *managed_system,
|
||||
}
|
||||
ret = phypExec(session, cmd, &exit_status, conn);
|
||||
|
||||
if (ret == NULL)
|
||||
if (exit_status < 0 || ret == NULL)
|
||||
goto err;
|
||||
|
||||
char *char_ptr = strchr(ret, '\n');
|
||||
char_ptr = strchr(ret, '\n');
|
||||
|
||||
if (char_ptr)
|
||||
*char_ptr = '\0';
|
||||
@ -674,9 +669,6 @@ phypGetLparCPUGeneric(virConnectPtr conn, const char *managed_system,
|
||||
if (virStrToLong_i(ret, &char_ptr, 10, &vcpus) == -1)
|
||||
goto err;
|
||||
|
||||
if (exit_status < 0)
|
||||
goto err;
|
||||
|
||||
VIR_FREE(cmd);
|
||||
VIR_FREE(ret);
|
||||
return (unsigned long) vcpus;
|
||||
@ -708,16 +700,13 @@ phypGetRemoteSlot(virConnectPtr conn, const char *managed_system,
|
||||
}
|
||||
ret = phypExec(session, cmd, &exit_status, conn);
|
||||
|
||||
if (ret == NULL)
|
||||
if (exit_status < 0 || ret == NULL)
|
||||
goto err;
|
||||
|
||||
char *char_ptr2 = strchr(ret, '\n');
|
||||
char_ptr = strchr(ret, '\n');
|
||||
|
||||
if (char_ptr2)
|
||||
*char_ptr2 = '\0';
|
||||
|
||||
if (exit_status < 0)
|
||||
goto err;
|
||||
if (char_ptr)
|
||||
*char_ptr = '\0';
|
||||
|
||||
if (virStrToLong_i(ret, &char_ptr, 10, &remote_slot) == -1)
|
||||
goto err;
|
||||
|
Loading…
x
Reference in New Issue
Block a user