From ce6d93ea6fa12953db1bad8f1208cbc4b9f9b8e3 Mon Sep 17 00:00:00 2001 From: Habib Virji Date: Mon, 12 Oct 2015 17:25:32 +0100 Subject: [PATCH] Fix coverity and compilation warning Few variable unused and fix issues raised in coverity. Change-Id: I345549de0132c8e3fe350365b2edce128fe3e18a Signed-off-by: Habib Virji Reviewed-on: https://gerrit.iotivity.org/gerrit/3829 Tested-by: jenkins-iotivity --- resource/csdk/stack/src/rdpayload.c | 8 ++++ .../samples/rd_publishingClient.cpp | 9 +++- service/resource-directory/src/rd_client.c | 49 +++++++++++++++------- 3 files changed, 49 insertions(+), 17 deletions(-) diff --git a/resource/csdk/stack/src/rdpayload.c b/resource/csdk/stack/src/rdpayload.c index b2453b5..426a4dc 100644 --- a/resource/csdk/stack/src/rdpayload.c +++ b/resource/csdk/stack/src/rdpayload.c @@ -1086,6 +1086,10 @@ void OCTagsLog(const LogLevel level, const OCTagsPayload *tags) OC_LOG_V(level, TAG, " DREL : %s ",tags->drel); } } + else + { + (void) level; + } } void OCLinksLog(const LogLevel level, const OCLinksPayload *links) @@ -1142,4 +1146,8 @@ void OCLinksLog(const LogLevel level, const OCLinksPayload *links) } links = links->next; } + if (!links) + { + (void) level; + } } diff --git a/service/resource-directory/samples/rd_publishingClient.cpp b/service/resource-directory/samples/rd_publishingClient.cpp index 444ceac..2897af7 100644 --- a/service/resource-directory/samples/rd_publishingClient.cpp +++ b/service/resource-directory/samples/rd_publishingClient.cpp @@ -98,7 +98,14 @@ int main() std::cout << "Created Platform..." << std::endl; - registerLocalResources(); + try + { + registerLocalResources(); + } + catch (std::runtime_error e) + { + std::cout << "Caught OCException [Code: " << e.what() << std::endl; + } while (1) { diff --git a/service/resource-directory/src/rd_client.c b/service/resource-directory/src/rd_client.c index 6b90b86..f5ffe01 100644 --- a/service/resource-directory/src/rd_client.c +++ b/service/resource-directory/src/rd_client.c @@ -86,8 +86,7 @@ static void retreiveRDDetails(OCClientResponse *clientResponse, OCRDBiasFactorCB OC_LOG_V(DEBUG, TAG, "\tAddress of the RD: %s:%d", clientResponse->devAddr.addr, clientResponse->devAddr.port); - OCRDPayload *payload = (OCRDPayload *) clientResponse->payload; - OC_LOG_PAYLOAD(DEBUG, (OCPayload *) payload); + OC_LOG_PAYLOAD(DEBUG, clientResponse->payload); // TODO: Multiple Resource Directory will have different biasFactor, // needs to cache here detail @@ -118,15 +117,21 @@ static OCStackApplicationResult handleDiscoverCB(void *ctx, return ret; } - OC_LOG_V(DEBUG, TAG, "Callback Context for DISCOVER query received successfully :%d.", clientResponse->result); - - if (clientResponse && clientResponse->result == OC_STACK_OK) + if (clientResponse) { - retreiveRDDetails(clientResponse, cb->cbFunc); + OC_LOG_V(DEBUG, TAG, "Callback Context for DISCOVER query received successfully :%d.", clientResponse->result); + if (clientResponse->result == OC_STACK_OK) + { + retreiveRDDetails(clientResponse, cb->cbFunc); + } + else + { + OC_LOG(ERROR, TAG, "Discovery of RD Failed"); + } } else { - OC_LOG(ERROR, TAG, "Discovery of RD Failed"); + OC_LOG(ERROR, TAG, "No client response."); } OICFree(cb); @@ -266,7 +271,6 @@ OCStackResult OCRDPublish(char *addr, uint16_t port, int numArg, ... ) OCStackResult res = createStringLL(numElement, handle, OCGetResourceTypeName, &rt); if (res != OC_STACK_OK || !rt) { - va_end(arguments); goto no_memory; } } @@ -276,7 +280,6 @@ OCStackResult OCRDPublish(char *addr, uint16_t port, int numArg, ... ) OCStackResult res = createStringLL(numElement, handle, OCGetResourceInterfaceName, &itf); if (res != OC_STACK_OK || !itf) { - va_end(arguments); goto no_memory; } } @@ -284,13 +287,11 @@ OCStackResult OCRDPublish(char *addr, uint16_t port, int numArg, ... ) mt = (OCStringLL *)OICCalloc(1, sizeof(OCStringLL)); if (!mt) { - va_end(arguments); goto no_memory; } mt->value = OICStrdup("application/json"); if (!mt->value) { - va_end(arguments); goto no_memory; } @@ -340,11 +341,27 @@ OCStackResult OCRDPublish(char *addr, uint16_t port, int numArg, ... ) no_memory: OC_LOG(ERROR, TAG, "Failed allocating memory."); - OCFreeOCStringLL(rt); - OCFreeOCStringLL(itf); - OCFreeOCStringLL(mt); - OCFreeTagsResource(tagsPayload); - OCFreeLinksResource(linksPayload); + va_end(arguments); + if (rt) + { + OCFreeOCStringLL(rt); + } + if (itf) + { + OCFreeOCStringLL(itf); + } + if (mt) + { + OCFreeOCStringLL(mt); + } + if (tagsPayload) + { + OCFreeTagsResource(tagsPayload); + } + if (linksPayload) + { + OCFreeLinksResource(linksPayload); + } OCRDPayloadDestroy(rdPayload); return OC_STACK_NO_MEMORY; } -- 2.7.4