From 75980f8658c6b205d73ff7d60ae07ddee6803b83 Mon Sep 17 00:00:00 2001 From: Mandeep Shetty Date: Fri, 13 Mar 2015 17:08:02 -0700 Subject: [PATCH] Check validity before free-ing options pointer. Free pointer only if pointer is valid decided on basis of number of options preset in the header. Change-Id: I21666e4f694652120ed164ffc763b0aeeb0ea951 Signed-off-by: Mandeep Shetty Reviewed-on: https://gerrit.iotivity.org/gerrit/476 Tested-by: jenkins-iotivity Reviewed-by: Sashi Penta Reviewed-by: Sudarshan Prasad --- resource/csdk/connectivity/src/caremotehandler.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/resource/csdk/connectivity/src/caremotehandler.c b/resource/csdk/connectivity/src/caremotehandler.c index 2e67030..76c3428 100644 --- a/resource/csdk/connectivity/src/caremotehandler.c +++ b/resource/csdk/connectivity/src/caremotehandler.c @@ -451,8 +451,10 @@ void CADestroyRequestInfoInternal(CARequestInfo_t *rep) OICFree((char *) rep->info.token); // free options field - OICFree((CAHeaderOption_t *) rep->info.options); - + if (rep->info.options != NULL && rep->info.numOptions) + { + OICFree((CAHeaderOption_t *) rep->info.options); + } // free payload field OICFree((char *) rep->info.payload); -- 2.7.4