diff --git a/mongoose.c b/mongoose.c index 7840a26497d67a13471e2f421bbe53946097aa9f..7c40cb9c067655e48f5e0e234669c341b592db4b 100644 --- a/mongoose.c +++ b/mongoose.c @@ -3792,6 +3792,10 @@ void mg_sock_to_str(sock_t sock, char *buf, size_t len, int flags) { void mg_socket_if_get_conn_addr(struct mg_connection *nc, int remote, union socket_address *sa) { + if ((nc->flags & MG_F_UDP) && remote) { + memcpy(sa, &nc->sa, sizeof(*sa)); + return; + } mg_sock_get_addr(nc->sock, remote, sa); }