diff --git a/libs/sofia-sip/libsofia-sip-ua/su/su_root.c b/libs/sofia-sip/libsofia-sip-ua/su/su_root.c index 86c8b5d168..8ed26c1dde 100644 --- a/libs/sofia-sip/libsofia-sip-ua/su/su_root.c +++ b/libs/sofia-sip/libsofia-sip-ua/su/su_root.c @@ -327,9 +327,14 @@ int su_task_execute(su_task_r const task, int (*function)(void *), void *arg, int *return_value) { + int dummy; + if (function == NULL) return (errno = EFAULT), -1; + if (return_value == NULL) + return_value = &dummy; + if (!su_port_own_thread(task->sut_port)) { return su_port_execute(task, function, arg, return_value); }