Exit early if managed object is not found, instead of dereferencing a NULL pointer and triggering a segfault. --- src/esx/esx_vi.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/src/esx/esx_vi.c b/src/esx/esx_vi.c index 5c8d79e..f4033eb 100644 --- a/src/esx/esx_vi.c +++ b/src/esx/esx_vi.c @@ -3964,7 +3964,7 @@ esxVI_ProductVersionToDefaultVirtualHWVersion(esxVI_ProductVersion productVersio #define ESX_VI__TEMPLATE__LOOKUP(_type, _complete_properties, \ - _cast_from_anytype) \ + _cast_from_anytype) \ int \ esxVI_Lookup##_type(esxVI_Context *ctx, const char* name /* optional */, \ esxVI_ManagedObjectReference *root, \ @@ -3999,6 +3999,12 @@ esxVI_ProductVersionToDefaultVirtualHWVersion(esxVI_ProductVersion productVersio goto cleanup; \ } \ \ + if (objectContent == NULL) { \ + /* not found, exit early */ \ + result = 0; \ + goto cleanup; \ + } \ + \ if (esxVI_##_type##_Alloc(ptrptr) < 0) { \ goto cleanup; \ } \ -- 1.7.4.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list