Commit 43c936a5 authored by Jukka Rissanen's avatar Jukka Rissanen Committed by Chris Friedt
Browse files

net: socket: mgmt: Check buf size in recvfrom()

Return EMSGSIZE if trying to copy too much data into
user supplied buffer.

Signed-off-by: default avatarJukka Rissanen <jukka.rissanen@nordicsemi.no>
(cherry picked from commit 0a16d5c7)
(cherry picked from commit b13b4eb38a50ee02d599332eb99752e814340487)
parent acc7cfaa
Loading
Loading
Loading
Loading
+6 −2
Changes for subsys/net/lib/sockets/sockets_net_mgmt.c: 6 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -205,8 +205,12 @@ again:

	if (info) {
		ret = info_len + sizeof(hdr);
		ret = MIN(max_len, ret);
		memcpy(&copy_to[sizeof(hdr)], info, ret);
		if (ret > max_len) {
			errno = EMSGSIZE;
			return -1;
		}

		memcpy(&copy_to[sizeof(hdr)], info, info_len);
	} else {
		ret = 0;
	}