Skip to content

Commit c5d8c12

Browse files
authored
Merge pull request #3563 from gamblor21/recv_into_size_check
Add socketpool.socket.recv_into size check
2 parents d606a3e + 8e6d3e5 commit c5d8c12

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

locale/circuitpython.pot

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ msgid ""
88
msgstr ""
99
"Project-Id-Version: PACKAGE VERSION\n"
1010
"Report-Msgid-Bugs-To: \n"
11-
"POT-Creation-Date: 2020-10-15 16:06+0530\n"
11+
"POT-Creation-Date: 2020-10-16 13:56-0500\n"
1212
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1313
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1414
"Language-Team: LANGUAGE <[email protected]>\n"
@@ -2107,6 +2107,10 @@ msgstr ""
21072107
msgid "buffer too small"
21082108
msgstr ""
21092109

2110+
#: shared-bindings/socketpool/Socket.c
2111+
msgid "buffer too small for requested bytes"
2112+
msgstr ""
2113+
21102114
#: shared-bindings/_pew/PewPew.c
21112115
msgid "buttons must be digitalio.DigitalInOut"
21122116
msgstr ""

shared-bindings/socketpool/Socket.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,9 @@ STATIC mp_obj_t socketpool_socket_recv_into(size_t n_args, const mp_obj_t *args)
257257
mp_int_t len = bufinfo.len;
258258
if (n_args == 3) {
259259
mp_int_t given_len = mp_obj_get_int(args[2]);
260+
if (given_len > len) {
261+
mp_raise_ValueError(translate("buffer too small for requested bytes"));
262+
}
260263
if (given_len > 0 && given_len < len) {
261264
len = given_len;
262265
}

0 commit comments

Comments
 (0)