diff --git a/libretro-common/rthreads/rthreads.c b/libretro-common/rthreads/rthreads.c index deef2f8d2e..ba80d77469 100644 --- a/libretro-common/rthreads/rthreads.c +++ b/libretro-common/rthreads/rthreads.c @@ -97,9 +97,10 @@ static void *thread_wrap(void *data_) #endif { struct thread_data *data = (struct thread_data*)data_; - if (!data) + if (!data || !data->func) return 0; - data->func(data->userdata); + if (data->userdata) + data->func(data->userdata); free(data); return 0; }