If there is no enough memory, strdup() can return null because of out of memory.
For preventing it, this patch added null check
Change-Id: I346b57d6dc28c03aa50c34315b05520401150edc
engine_name = strdup("org.tizen.vc-engine-default");
}
- char* appid = strdup(engine_name);
+ if (NULL == engine_name) {
+ SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Out of memory");
+ return NULL;
+ }
- SLOG(LOG_INFO, TAG_VCC, "[INFO] VC engine appid(%s)", appid);
+ char* appid = engine_name;
- free(engine_name);
+ SLOG(LOG_INFO, TAG_VCC, "[INFO] VC engine appid(%s)", appid);
return appid;
}
int pid = getpid();
char* engine_appid = __get_engine_appid();
+ if (NULL == engine_appid) {
+ SLOG(LOG_ERROR, TAG_VCC, "[TIDL ERROR] Fail to get engine appid");
+ return VC_ERROR_OUT_OF_MEMORY;
+ }
info->rpc_h = __create_rpc_port(pid, engine_appid);
if (NULL == info->rpc_h) {
engine_name = strdup("org.tizen.vc-engine-default");
}
- char* appid = strdup(engine_name);
+ if (NULL == engine_name) {
+ SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Out of memory");
+ return NULL;
+ }
- SLOG(LOG_INFO, TAG_VCC, "[INFO] VC engine appid(%s)", appid);
+ char* appid = engine_name;
- free(engine_name);
+ SLOG(LOG_INFO, TAG_VCC, "[INFO] VC engine appid(%s)", appid);
return appid;
}
int pid = getpid();
info->pid = pid;
info->engine_appid = __get_engine_appid();
+ if (NULL == info->engine_appid) {
+ SLOG(LOG_ERROR, TAG_VCC, "[TIDL ERROR] Fail to get engine appid");
+ return VC_ERROR_OUT_OF_MEMORY;
+ }
info->rpc_h = __create_rpc_port(pid, info->engine_appid);
if (NULL == info->rpc_h) {
temp_data = strdup("#NULL");
}
- *data = strdup(temp_data);
- free(temp_data);
+ if (NULL == temp_data) {
+ SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Out of memory");
+ return VC_ERROR_OUT_OF_MEMORY;
+ }
+
+ *data = temp_data;
SLOG(LOG_INFO, TAG_VCD, "[IN] vcd mgr get private data : pid(%d), key(%s)", pid, key);