35 lines
886 B
Diff
35 lines
886 B
Diff
Conflict:NA
|
|
Reference:https://downloads.isc.org/isc/dhcp/4.4.3-P1/patches/CVE-2022-2929.4-4-3.diff
|
|
---
|
|
common/options.c | 8 ++++----
|
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/common/options.c b/common/options.c
|
|
index 40238f7..11b1961 100644
|
|
--- a/common/options.c
|
|
+++ b/common/options.c
|
|
@@ -454,16 +454,16 @@ int fqdn_universe_decode (struct option_state *options,
|
|
while (s < &bp -> data[0] + length + 2) {
|
|
len = *s;
|
|
if (len > 63) {
|
|
- log_info ("fancy bits in fqdn option");
|
|
- return 0;
|
|
+ log_info ("label length exceeds 63 in fqdn option");
|
|
+ goto bad;
|
|
}
|
|
if (len == 0) {
|
|
terminated = 1;
|
|
break;
|
|
}
|
|
if (s + len > &bp -> data [0] + length + 3) {
|
|
- log_info ("fqdn tag longer than buffer");
|
|
- return 0;
|
|
+ log_info ("fqdn label longer than buffer");
|
|
+ goto bad;
|
|
}
|
|
|
|
if (first_len == 0) {
|
|
--
|
|
2.27.0
|
|
|