Ver Fonte

Added bounds checking for listening_ports.
Needs to be a valid TCP port number, and not less than 1 or greater than 65535

Cody Hanson há 12 anos atrás
pai
commit
94050d44e4
1 ficheiros alterados com 2 adições e 0 exclusões
  1. 2 0
      mongoose.c

+ 2 - 0
mongoose.c

@@ -4291,6 +4291,8 @@ static int parse_port_string(const struct vec *vec, struct socket *so) {
   } else if (sscanf(vec->ptr, "%d%n", &port, &len) != 1 ||
              len <= 0 ||
              len > (int) vec->len ||
+             port < 1 ||
+             port > 65535 ||
              (vec->ptr[len] && vec->ptr[len] != 's' &&
               vec->ptr[len] != 'r' && vec->ptr[len] != ',')) {
     return 0;