OCFREE(*value)
}
+ OCFREE(actionSetStr);
+
return result;
}
OCStackResult ExtractActionSetNameAndDelaytime(char *pChar, char **setName,
long int *pa)
{
- char *token, *tokenPtr;
+ char *token = NULL, *tokenPtr = NULL;
OCStackResult result = OC_STACK_OK;
token = (char*) strtok_r(pChar, ACTION_DELIMITER, &tokenPtr);
+ VARIFY_POINTER_NULL(token, result, exit)
+
*setName = (char *) OICMalloc(strlen(token) + 1);
VARIFY_POINTER_NULL(*setName, result, exit)
VARIFY_PARAM_NULL(token, result, exit)
iterToken = (char *) strtok_r(NULL, ACTION_DELIMITER, &iterTokenPtr);
VARIFY_PARAM_NULL(iterToken, result, exit)
#ifndef WITH_ARDUINO
- sscanf(iterToken, "%ld %u", &(*set)->timesteps, &(*set)->type);
+ if( 2 != sscanf(iterToken, "%ld %u", &(*set)->timesteps, &(*set)->type) )
+ {
+ // If the return value should be 2, the number of items in the argument. Otherwise, it fails.
+ goto exit;
+ }
#endif
OC_LOG_V(INFO, TAG, "ActionSet Name : %s", (*set)->actionsetName);
attrIterToken = (char *) strtok_r(attr, ATTR_ASSIGN,
&attrIterTokenPtr);
+ VARIFY_POINTER_NULL(attrIterToken, result, exit);
+
key = (char *) OICMalloc(strlen(attrIterToken) + 1);
VARIFY_POINTER_NULL(key, result, exit)
VARIFY_PARAM_NULL(attrIterToken, result, exit)
sizeof(ClientRequestInfo));
if( info == NULL )
+ {
+ OCFREE(payload);
return OC_STACK_NO_MEMORY;
+ }
memset(info, 0, sizeof(ClientRequestInfo));
{
stackRet = OC_STACK_ERROR;
}
+
+ OICFree(schedule);
}
}
}
return stackRet;
}
-