diff --git a/src/sbbs3/js_socket.c b/src/sbbs3/js_socket.c index aa657371f637d5ce37f3a70b57f5ebfc9f87ef2e..fb6eff8ac22950cd794acaafaf4b844340fdddd6 100644 --- a/src/sbbs3/js_socket.c +++ b/src/sbbs3/js_socket.c @@ -3359,6 +3359,17 @@ js_listening_socket_constructor(JSContext *cx, uintN argc, jsval *arglist) } } + for (i = 0; (jsuint)i < set->sock_count; ++i) { + char error[256] = ""; + if (set_socket_options(scfg, set->socks[i].sock, protocol, error, sizeof(error)) != 0) { + JS_ReportError(cx, "Error (%s) setting socket options (for %s) on socket %d" + ,error, protocol, set->socks[i].sock); + free(protocol); + free(set); + return JS_FALSE; + } + } + obj=JS_NewObject(cx, &js_socket_class, NULL, NULL); JS_SET_RVAL(cx, arglist, OBJECT_TO_JSVAL(obj));