From 0d54312626ca23743a737ee37d84dc98e31b2291 Mon Sep 17 00:00:00 2001
From: cramakri <cramakri>
Date: Thu, 1 Nov 2012 12:17:40 +0000
Subject: [PATCH] Fix crash in converting JSON string that included non-ASCII
 characters. Now assume UTF-8

SVN: 27458
---
 openbis-ipad/BisKit/Classes/CISDOBIpadEntity.m | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/openbis-ipad/BisKit/Classes/CISDOBIpadEntity.m b/openbis-ipad/BisKit/Classes/CISDOBIpadEntity.m
index 5d811d23bcf..98e3aae6cd1 100644
--- a/openbis-ipad/BisKit/Classes/CISDOBIpadEntity.m
+++ b/openbis-ipad/BisKit/Classes/CISDOBIpadEntity.m
@@ -25,11 +25,17 @@
 #import "CISDOBIpadService.h"
 
 ///! Convert a JSON string to objects. Returns nil if the string is nil.
-id ObjectFromJsonData(NSString *jsonData, NSError **error)
+id ObjectFromJsonData(NSString *jsonDataString, NSError **error)
 {
-    if (nil == jsonData) return nil;
+    if (nil == jsonDataString) return nil;
+    NSData *jsonData = [jsonDataString dataUsingEncoding: NSUTF8StringEncoding];
+    if (!jsonData) {
+        NSLog(@"Could not convert json string (%@) to UTF-8", jsonDataString);
+        // Do not treat this as an error -- just log it
+        return nil;
+    }
 
-    return [NSJSONSerialization JSONObjectWithData: [jsonData dataUsingEncoding: NSASCIIStringEncoding] options: 0 error: error];
+    return [NSJSONSerialization JSONObjectWithData: jsonData options: 0 error: error];
 }
 
 
-- 
GitLab