hyperv: call openwsman's ws_serializer_free_mem

This should have been included with the upgrade to openwsman 2.6.3.

Signed-off-by: Matt Coleman <matt@datto.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Matt Coleman 2020-11-02 19:22:08 -05:00 committed by Michal Privoznik
parent 3b52bcfa43
commit 7795712ddc

View File

@ -41,8 +41,6 @@
#include "virlog.h" #include "virlog.h"
#include "virxml.h" #include "virxml.h"
#define WS_SERIALIZER_FREE_MEM_WORKS 0
#define VIR_FROM_THIS VIR_FROM_HYPERV #define VIR_FROM_THIS VIR_FROM_HYPERV
#define HYPERV_JOB_TIMEOUT_MS 300000 #define HYPERV_JOB_TIMEOUT_MS 300000
@ -1120,12 +1118,10 @@ hypervEnumAndPull(hypervPrivate *priv, hypervWqlQueryPtr wqlQuery,
filter_destroy(filter); filter_destroy(filter);
if (data != NULL) { if (data != NULL) {
#if WS_SERIALIZER_FREE_MEM_WORKS
if (ws_serializer_free_mem(serializerContext, data, if (ws_serializer_free_mem(serializerContext, data,
wmiInfo->serializerInfo) < 0) { wmiInfo->serializerInfo) < 0) {
VIR_ERROR(_("Could not free deserialized data")); VIR_ERROR(_("Could not free deserialized data"));
} }
#endif
} }
VIR_FREE(query_string); VIR_FREE(query_string);
@ -1141,26 +1137,20 @@ void
hypervFreeObject(hypervPrivate *priv G_GNUC_UNUSED, hypervObject *object) hypervFreeObject(hypervPrivate *priv G_GNUC_UNUSED, hypervObject *object)
{ {
hypervObject *next; hypervObject *next;
#if WS_SERIALIZER_FREE_MEM_WORKS
WsSerializerContextH serializerContext; WsSerializerContextH serializerContext;
#endif
if (object == NULL) if (object == NULL)
return; return;
#if WS_SERIALIZER_FREE_MEM_WORKS
serializerContext = wsmc_get_serialization_context(priv->client); serializerContext = wsmc_get_serialization_context(priv->client);
#endif
while (object != NULL) { while (object != NULL) {
next = object->next; next = object->next;
#if WS_SERIALIZER_FREE_MEM_WORKS
if (ws_serializer_free_mem(serializerContext, object->data.common, if (ws_serializer_free_mem(serializerContext, object->data.common,
object->info->serializerInfo) < 0) { object->info->serializerInfo) < 0) {
VIR_ERROR(_("Could not free deserialized data")); VIR_ERROR(_("Could not free deserialized data"));
} }
#endif
VIR_FREE(object); VIR_FREE(object);