Free version buffer in the Vendor HAL's
XML parsing logic.

Fixes a minor memory leak that results from
not freeing that buffer.

Bug: 269520490
Test: Manual test
       1. Create several XML files under
          /vendor/etc/wifi/vendor_hals
       2. Modify the codepath to run the
          initVendorHalsDescriptorList method
	  (does not run by default on Pixel).
       3. Check that the XML parsing logic is
          working as intended.
Change-Id: I42944169b70c759998d94e8523d2aa55d0366ffd
diff --git a/wifi/aidl/default/wifi_legacy_hal_factory.cpp b/wifi/aidl/default/wifi_legacy_hal_factory.cpp
index 60f81ed..0359d6f 100644
--- a/wifi/aidl/default/wifi_legacy_hal_factory.cpp
+++ b/wifi/aidl/default/wifi_legacy_hal_factory.cpp
@@ -128,7 +128,7 @@
 void WifiLegacyHalFactory::initVendorHalsDescriptorList() {
     xmlDocPtr xml;
     xmlNodePtr node, cnode;
-    char* version;
+    char* version = NULL;
     std::string path;
     xmlChar* value;
     wifi_hal_lib_desc desc;
@@ -200,6 +200,10 @@
         }
     skip:
         xmlFreeDoc(xml);
+        if (version) {
+            xmlFree(version);
+            version = NULL;
+        }
     }
     ::closedir(dirPtr);
 }