From 6136c7644a4a64612ef80c0681b44c11a710ab48 Mon Sep 17 00:00:00 2001 From: iabdalkader Date: Thu, 12 May 2022 13:01:22 +0200 Subject: [PATCH] extmod/modusocket: Bind unconnected socket to default NIC in setsockopt. Bind socket to default NIC if setsockopt is called before the socket is bound, to allow setting SO_REUSEADDR before calling socket_bind(). Fixes issue #8653. --- extmod/modusocket.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/extmod/modusocket.c b/extmod/modusocket.c index 9b1eb8cd7a..eae113f7c4 100644 --- a/extmod/modusocket.c +++ b/extmod/modusocket.c @@ -310,8 +310,9 @@ STATIC mp_obj_t socket_setsockopt(size_t n_args, const mp_obj_t *args) { mod_network_socket_obj_t *self = MP_OBJ_TO_PTR(args[0]); if (self->nic == MP_OBJ_NULL) { - // not connected - return mp_const_none; + // bind to default NIC. + uint8_t ip[4] = {0, 0, 0, 0}; + socket_select_nic(self, ip); } mp_int_t level = mp_obj_get_int(args[1]);