From 43e5a4f0a42a739e93f65ccf31eff82df11144c3 Mon Sep 17 00:00:00 2001 From: omkar Date: Fri, 9 Jan 2015 11:34:18 -0800 Subject: [PATCH] C++ Avoid crash in case of Invalid/Empty Payload This change is based on a bug reported by SHP wherein they want to be able to send response with empty payload. Instead of throwing an error, we now send an empty OCRepresentation() object to the client callback. Change-Id: I16f298bf8a0bdbb545e1133d751582f418991352 Signed-off-by: omkar --- resource/src/InProcClientWrapper.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resource/src/InProcClientWrapper.cpp b/resource/src/InProcClientWrapper.cpp index 8f1a455..73aeb10 100644 --- a/resource/src/InProcClientWrapper.cpp +++ b/resource/src/InProcClientWrapper.cpp @@ -96,7 +96,7 @@ namespace OC { if(clientResponse->resJSONPayload == nullptr || clientResponse->resJSONPayload[0] == '\0') { - throw OCException(OC::Exception::STR_NULL_RESPONSE, OC_STACK_ERROR); + return OCRepresentation(); } MessageContainer oc; @@ -105,7 +105,7 @@ namespace OC std::vector::const_iterator it = oc.representations().begin(); if(it == oc.representations().end()) { - throw OCException(OC::Exception::INVALID_REPRESENTATION, OC_STACK_ERROR); + return OCRepresentation(); } // first one is considered the root, everything else is considered a child of this one. -- 2.7.4