From a8e5b844c5ea1c0e2c8339870739298ecaedcf69 Mon Sep 17 00:00:00 2001 From: Roberto Hueso Gómez Date: Mon, 13 Jul 2020 10:36:36 +0200 Subject: #988 Check DB port size is in [0, UINT16_MAX] Max port number is UINT16_MAX, so this checks whether this config parameter is in the correct range. --- src/cfg.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/cfg.c b/src/cfg.c index d19ab15..c9ed435 100644 --- a/src/cfg.c +++ b/src/cfg.c @@ -58,7 +58,8 @@ static int parse_json_db(struct og_server_cfg *cfg, json_t *element) if (og_json_parse_string(value, &cfg->db.name) < 0) return -1; } else if (!strcmp(key, "port")) { - if (og_json_parse_uint(value, &cfg->db.port) < 0) + if (og_json_parse_uint(value, &cfg->db.port) < 0 || + cfg->db.port > UINT16_MAX) return -1; } else { syslog(LOG_ERR, "unknown key `%s' in db\n", key); -- cgit v1.2.3-18-g5258