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