mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-20 23:00:56 -05:00
- Fix for #1062: declaration before statement, avoid print of null,
and redundant check for array size. And changelog note for merge of #1062.
This commit is contained in:
parent
49569b81aa
commit
c085a53268
2 changed files with 11 additions and 3 deletions
|
|
@ -1,3 +1,9 @@
|
||||||
|
7 May 2024: Wouter
|
||||||
|
- Merge #1062: Fix potential overflow bug while parsing port in
|
||||||
|
function cfg_mark_ports.
|
||||||
|
- Fix for #1062: declaration before statement, avoid print of null,
|
||||||
|
and redundant check for array size.
|
||||||
|
|
||||||
1 May 2024: Wouter
|
1 May 2024: Wouter
|
||||||
- Fix for the DNSBomb vulnerability CVE-2024-33655. Thanks to Xiang Li
|
- Fix for the DNSBomb vulnerability CVE-2024-33655. Thanks to Xiang Li
|
||||||
from the Network and Information Security Lab of Tsinghua University
|
from the Network and Information Security Lab of Tsinghua University
|
||||||
|
|
|
||||||
|
|
@ -1776,12 +1776,13 @@ init_outgoing_availports(int* a, int num)
|
||||||
static int
|
static int
|
||||||
extract_port_from_str(const char* str, int max_port) {
|
extract_port_from_str(const char* str, int max_port) {
|
||||||
char* endptr;
|
char* endptr;
|
||||||
|
long int value;
|
||||||
if (str == NULL || *str == '\0') {
|
if (str == NULL || *str == '\0') {
|
||||||
log_err("str: '%s' is invalid", str);
|
log_err("str: '%s' is invalid", (str?str:"NULL"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
long int value = strtol(str, &endptr, 10);
|
value = strtol(str, &endptr, 10);
|
||||||
if ((endptr == str) || (*endptr != '\0')) {
|
if ((endptr == str) || (*endptr != '\0')) {
|
||||||
log_err("cannot parse port number '%s'", str);
|
log_err("cannot parse port number '%s'", str);
|
||||||
return -1;
|
return -1;
|
||||||
|
|
@ -1820,7 +1821,8 @@ cfg_mark_ports(const char* str, int allow, int* avail, int num)
|
||||||
log_err("Failed to parse the port number");
|
log_err("Failed to parse the port number");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
avail[port] = (allow?port:0);
|
if(port < num)
|
||||||
|
avail[port] = (allow?port:0);
|
||||||
} else {
|
} else {
|
||||||
char buf[16];
|
char buf[16];
|
||||||
int i, low;
|
int i, low;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue