bplist: Make sure to bail out if malloc() fails in parse_unicode_node()

Credit to OSS-Fuzz
diff --git a/src/bplist.c b/src/bplist.c
index c1f6007..640a5c0 100644
--- a/src/bplist.c
+++ b/src/bplist.c
@@ -368,6 +368,11 @@
 
     data->type = PLIST_STRING;
     unicodestr = (uint16_t*) malloc(sizeof(uint16_t) * size);
+    if (!unicodestr) {
+        plist_free_data(data);
+        PLIST_BIN_ERR("%s: Could not allocate %" PRIu64 " bytes\n", __func__, sizeof(uint16_t) * size);
+        return NULL;
+    }
     for (i = 0; i < size; i++)
         unicodestr[i] = be16toh(((uint16_t*)*bnode)[i]);