summaryrefslogtreecommitdiff
path: root/liboffloadmic/runtime/offload_env.cpp
diff options
context:
space:
mode:
authoriverbin <iverbin@138bc75d-0d04-0410-961f-82ee72b054a4>2015-10-08 19:04:43 +0000
committeriverbin <iverbin@138bc75d-0d04-0410-961f-82ee72b054a4>2015-10-08 19:04:43 +0000
commit9593413728b796e8d7df4ac12991b5dce47ff3a6 (patch)
treecc473b0ce992a6b6a8004d8e0c64c388b612ddd0 /liboffloadmic/runtime/offload_env.cpp
parent27f0420028fe07ce66eba2e48d00cf018fcd2989 (diff)
downloadgcc-9593413728b796e8d7df4ac12991b5dce47ff3a6.tar.gz
liboffloadmic: Add missed checks for malloc and strdup return values
liboffloadmic/ * runtime/offload_engine.cpp (Engine::init_process): Use strdup instead of sizeof+malloc+sprintf, check for return value. * runtime/offload_env.cpp (MicEnvVar::get_env_var_kind): Check for strdup return value. * runtime/offload_host.cpp (__offload_init_library_once): Check for strdup return value. Fix size calculation of COI_HOST_THREAD_AFFINITY. * runtime/emulator/coi_device.cpp (COIProcessWaitForShutdown): Check for malloc return value. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228622 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'liboffloadmic/runtime/offload_env.cpp')
-rw-r--r--liboffloadmic/runtime/offload_env.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/liboffloadmic/runtime/offload_env.cpp b/liboffloadmic/runtime/offload_env.cpp
index 79f5f366754..ac33b678942 100644
--- a/liboffloadmic/runtime/offload_env.cpp
+++ b/liboffloadmic/runtime/offload_env.cpp
@@ -212,10 +212,14 @@ MicEnvVarKind MicEnvVar::get_env_var_kind(
*env_var_name_length = 3;
*env_var_name = *env_var_def = c;
*env_var_def = strdup(*env_var_def);
+ if (*env_var_def == NULL)
+ LIBOFFLOAD_ERROR(c_malloc);
return c_mic_var;
}
*env_var_def = c + strlen("ENV=");
*env_var_def = strdup(*env_var_def);
+ if (*env_var_def == NULL)
+ LIBOFFLOAD_ERROR(c_malloc);
return c_mic_card_env;
}
if (isalpha(*c)) {
@@ -229,6 +233,8 @@ MicEnvVarKind MicEnvVar::get_env_var_kind(
return c_no_mic;
}
*env_var_def = strdup(*env_var_def);
+ if (*env_var_def == NULL)
+ LIBOFFLOAD_ERROR(c_malloc);
return card_is_set? c_mic_card_var : c_mic_var;
}