diff --git a/src/lib/eina/eina_thread.c b/src/lib/eina/eina_thread.c index d3a296308d..cd7d48e510 100644 --- a/src/lib/eina/eina_thread.c +++ b/src/lib/eina/eina_thread.c @@ -97,9 +97,13 @@ _eina_thread_tls_keys_clean(Eina_Thread_Win32 *tw) EAPI Eina_Bool _eina_thread_tls_cb_register(Eina_TLS key, Eina_TLS_Delete_Cb cb) { - Eina_TLS_Cbs_Win32 *tls_cb = malloc(sizeof(Eina_TLS_Cbs_Win32)); + Eina_TLS_Cbs_Win32 *tls_cb; + if (!cb) return EINA_FALSE; + tls_cb = malloc(sizeof(Eina_TLS_Cbs_Win32)); + if (!tls_cb) return EINA_FALSE; + tls_cb->key = key; tls_cb->cb = cb; _tls_keys_cbs = eina_list_append(_tls_keys_cbs, tls_cb);