1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-20 20:13:50 +01:00

Merge pull request #20216 from maribu/examples/dtls-sock/error-handling

examples/dtls-sock: fix error handling in client
This commit is contained in:
Marian Buschsieweke 2023-12-28 16:57:48 +00:00 committed by GitHub
commit 034fd09e15
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -155,6 +155,7 @@ static int client_send(char *addr_str, char *data, size_t datalen)
if (res < 0 && res != CREDMAN_EXIST) {
/* ignore duplicate credentials */
printf("Error cannot add credential to system: %" PRIdSIZE "\n", res);
sock_udp_close(&udp_sock);
return -1;
}
@ -171,12 +172,14 @@ static int client_send(char *addr_str, char *data, size_t datalen)
if (res < 0 && res != CREDMAN_EXIST) {
/* ignore duplicate credentials */
printf("Error cannot add credential to system: %" PRIdSIZE "\n", res);
sock_udp_close(&udp_sock);
return -1;
}
/* make the new credential available to the sock */
if (sock_dtls_add_credential(&dtls_sock, SOCK_DTLS_CLIENT_TAG_1) < 0) {
printf("Error cannot add credential to the sock: %" PRIdSIZE "\n", res);
sock_udp_close(&udp_sock);
return -1;
}
@ -186,6 +189,7 @@ static int client_send(char *addr_str, char *data, size_t datalen)
res = sock_dtls_session_init(&dtls_sock, &remote, &session);
if (res <= 0) {
sock_udp_close(&udp_sock);
return res;
}