[riot-notifications] [RIOT-OS/RIOT] sock_dtls: add timeout to sock_dtls_send and sock_dtls_session_create (#14043)

Martine Lenders notifications at github.com
Thu May 14 21:35:29 CEST 2020


@miri64 commented on this pull request.



> @@ -283,40 +271,36 @@ int sock_dtls_session_create(sock_dtls_t *sock, const sock_udp_ep_t *ep,
     memcpy(&remote->dtls_session.addr, &ep->addr.ipv6, sizeof(ipv6_addr_t));
     _ep_to_session(ep, &remote->dtls_session);
 
-    /* start a handshake */
-    DEBUG("sock_dtls: starting handshake\n");
-    res = dtls_connect(sock->dtls_ctx, &remote->dtls_session);
+    sock_udp_ep_t local;
+    if (sock_udp_get_local(sock->udp_sock, &local) < 0) {

No, it *asserts* `sock != NULL` and `local != NULL`, so if `sock->udp_sock` is `NULL` a program might crash. I don't know enough to know under which condition `sock->udp_sock` is not NULL. If it is _only_ when `sock` is not bound, this should be checked! Alternatively, we can remove the `-EADDRNOTAVAIL` case and also assert, that `sock` is bound (i.e. for `tinydtls` `assert(sock->udp_sock)` when my previous statement was right).

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/14043#discussion_r425382653
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20200514/0987dde3/attachment.htm>


More information about the notifications mailing list