X-Git-Url: http://git.silcnet.org/gitweb/?p=crypto.git;a=blobdiff_plain;f=lib%2Fsilcutil%2Fsilcsocketstream.c;h=e11fff73a5a5b29fdd1922b6d1b2b60476fedc97;hp=5e3357433f3b7120114ca103d1f13c891bf6f073;hb=f2dd07bb06c199bc35b8a69c0828f88c8e028db6;hpb=1f27d9647347b2da8797ccaaa76c04c51c41a6c4 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;