CA-220608: Corrected potential memory leak

From: Gary Kirkpatrick <gary.kirkpatrick@citrix.com>

There was a potential for a memory leak in vhd_macx_encode_location.
Free up allocated resources if malloc() fails.

Signed-off-by: Gary Kirkpatrick <gary.kirkpatrick@citrix.com>
Reviewed-by: Germano Percossi <germano.percossi@citrix.com>

diff --git a/vhd/lib/libvhd.c b/vhd/lib/libvhd.c
index 2a67537..5d3d4fc 100644
--- a/vhd/lib/libvhd.c
+++ b/vhd/lib/libvhd.c
@@ -1372,8 +1372,11 @@ vhd_macx_encode_location(char *name, char **out, int *outlen)
 	uri = urip = malloc(ibl + 1);
 	uri_utf8 = uri_utf8p = malloc(obl);
 
-	if (!uri || !uri_utf8)
+	if (!uri || !uri_utf8) {
+		free(uri);
+		free(uri_utf8);
 		return -ENOMEM;
+	}
 
 	cd = iconv_open("UTF-8", "ASCII");
 	if (cd == (iconv_t)-1) {
