X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=lib%2Fsilcutil%2Fsilcsocketstream.c;h=e11fff73a5a5b29fdd1922b6d1b2b60476fedc97;hp=5e3357433f3b7120114ca103d1f13c891bf6f073;hb=e7b6c157b80152bf9fb9266e6bdd93f9fb0db776;hpb=51558729d89b9f3492b2ca754242ed548a579ca4 diff --git a/lib/silcutil/silcsocketstream.c b/lib/silcutil/silcsocketstream.c index 5e335743..e11fff73 100644 --- a/lib/silcutil/silcsocketstream.c +++ b/lib/silcutil/silcsocketstream.c @@ -152,10 +152,20 @@ silc_socket_tcp_stream_create(SilcSocket sock, SilcBool lookup, SilcSocketStream stream; SilcSocketHostLookup l; - if (!sock || !schedule) { - SILC_LOG_ERROR(("Missing arguments to silc_socket_tcp_stream_create")); + if (!schedule) { + schedule = silc_schedule_get_global(); + if (!schedule) { + silc_set_errno(SILC_ERR_INVALID_ARGUMENT); + if (callback) + callback(silc_errno, NULL, context); + return NULL; + } + } + + if (!sock) { + silc_set_errno(SILC_ERR_INVALID_ARGUMENT); if (callback) - callback(SILC_ERR_INVALID_ARGUMENT, NULL, context); + callback(silc_errno, NULL, context); return NULL; } @@ -219,6 +229,14 @@ SilcStream silc_socket_udp_stream_create(SilcSocket sock, SilcBool ipv6, { SilcSocketStream stream; + if (!schedule) { + schedule = silc_schedule_get_global(); + if (!schedule) { + silc_set_errno(SILC_ERR_INVALID_ARGUMENT); + return NULL; + } + } + stream = silc_calloc(1, sizeof(*stream)); if (!stream) return NULL;