unix/modsocket: Fix usage of pointers to locals outside scope
This commit is contained in:
parent
24652228af
commit
95b352064e
@ -266,8 +266,9 @@ STATIC mp_obj_t socket_setsockopt(mp_uint_t n_args, const mp_obj_t *args) {
|
|||||||
|
|
||||||
const void *optval;
|
const void *optval;
|
||||||
socklen_t optlen;
|
socklen_t optlen;
|
||||||
|
int val;
|
||||||
if (MP_OBJ_IS_INT(args[3])) {
|
if (MP_OBJ_IS_INT(args[3])) {
|
||||||
int val = mp_obj_int_get_truncated(args[3]);
|
val = mp_obj_int_get_truncated(args[3]);
|
||||||
optval = &val;
|
optval = &val;
|
||||||
optlen = sizeof(val);
|
optlen = sizeof(val);
|
||||||
} else {
|
} else {
|
||||||
@ -428,12 +429,12 @@ STATIC mp_obj_t mod_socket_getaddrinfo(mp_uint_t n_args, const mp_obj_t *args) {
|
|||||||
const char *host = mp_obj_str_get_str(args[0]);
|
const char *host = mp_obj_str_get_str(args[0]);
|
||||||
const char *serv = NULL;
|
const char *serv = NULL;
|
||||||
struct addrinfo hints;
|
struct addrinfo hints;
|
||||||
|
char buf[6];
|
||||||
memset(&hints, 0, sizeof(hints));
|
memset(&hints, 0, sizeof(hints));
|
||||||
// getaddrinfo accepts port in string notation, so however
|
// getaddrinfo accepts port in string notation, so however
|
||||||
// it may seem stupid, we need to convert int to str
|
// it may seem stupid, we need to convert int to str
|
||||||
if (MP_OBJ_IS_SMALL_INT(args[1])) {
|
if (MP_OBJ_IS_SMALL_INT(args[1])) {
|
||||||
unsigned port = (unsigned short)MP_OBJ_SMALL_INT_VALUE(args[1]);
|
unsigned port = (unsigned short)MP_OBJ_SMALL_INT_VALUE(args[1]);
|
||||||
char buf[6];
|
|
||||||
sprintf(buf, "%u", port);
|
sprintf(buf, "%u", port);
|
||||||
serv = buf;
|
serv = buf;
|
||||||
hints.ai_flags = AI_NUMERICSERV;
|
hints.ai_flags = AI_NUMERICSERV;
|
||||||
|
Loading…
Reference in New Issue
Block a user