diff --git a/sys/posix/sockets/posix_sockets.c b/sys/posix/sockets/posix_sockets.c index da8d2d07a130aab09a5d84b1c580dbd164743752..a291d2bf3930701dde0dbe72f88ccebaa4b944fc 100644 --- a/sys/posix/sockets/posix_sockets.c +++ b/sys/posix/sockets/posix_sockets.c @@ -826,7 +826,7 @@ ssize_t recvfrom(int socket, void *restrict buffer, size_t length, int flags, res = -1; break; } - if ((res == 0) && (address != NULL) && (address_len != 0)) { + if ((res >= 0) && (address != NULL) && (address_len != 0)) { switch (s->type) { #ifdef MODULE_SOCK_TCP case SOCK_STREAM: