[libvirt] [PATCH] esx: avoid null dereference on error
Laine Stump
laine at laine.org
Wed May 4 05:08:31 UTC 2011
On 05/03/2011 03:10 PM, Eric Blake wrote:
> Detected by clang.
>
> * src/esx/esx_driver.c (esxDomainGetInfo): Fail early on error.
> ---
> src/esx/esx_driver.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c
> index 1f8f90b..e929208 100644
> --- a/src/esx/esx_driver.c
> +++ b/src/esx/esx_driver.c
> @@ -2372,8 +2372,9 @@ esxDomainGetInfo(virDomainPtr domain, virDomainInfoPtr info)
>
> if (perfEntityMetric == NULL) {
> VIR_ERROR(_("QueryPerf returned object with unexpected type '%s'"),
> esxVI_Type_ToString(perfEntityMetricBase->_type));
> + goto cleanup;
> }
>
> perfMetricIntSeries =
> esxVI_PerfMetricIntSeries_DynamicCast(perfEntityMetric->value);
I would just say ACK, since this obviously eliminates a null
dereference, but I notice that the following check for
perfMetricIntSeries == NULL also calls VIR_ERROR and then doesn't goto
cleanup, so I'm wondering if maybe the intent is that if either of these
is NULL, result should still get set to 0. Mathias?
More information about the libvir-list
mailing list