commit c96b4fc: [Minor] Rdns: One more sanity check added

Vsevolod Stakhov vsevolod at highsecure.ru
Mon Aug 23 13:14:04 UTC 2021


Author: Vsevolod Stakhov
Date: 2021-08-23 14:10:01 +0100
URL: https://github.com/rspamd/rspamd/commit/c96b4fc946407b9e1701a0b2c9b67339165ab1f5

[Minor] Rdns: One more sanity check added

---
 contrib/librdns/parse.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/contrib/librdns/parse.c b/contrib/librdns/parse.c
index 559d430a0..18bb6a694 100644
--- a/contrib/librdns/parse.c
+++ b/contrib/librdns/parse.c
@@ -370,6 +370,16 @@ rdns_parse_rr (struct rdns_resolver *resolver,
 					*remain -= txtlen + 1;
 				}
 				else {
+
+					if (txtlen + copied + parts > datalen) {
+						/* Incorrect datalen reported ! */
+						rdns_err ("incorrect txtlen (%d) > datalen (%d) reported; domain %s",
+								(txtlen + copied + parts), datalen,
+								rep->requested_name);
+						return -1;
+					}
+
+					/* Reported equal to the actual data copied */
 					break;
 				}
 			}
@@ -425,7 +435,7 @@ rdns_parse_rr (struct rdns_resolver *resolver,
 		*remain -= datalen;
 		break;
 	default:
-		rdns_debug ("unexpected RR type: %d; domain %s", type, rep->requested_name);
+		rdns_info ("unexpected RR type: %d; domain %s", type, rep->requested_name);
 		p += datalen;
 		*remain -= datalen;
 		break;


More information about the Commits mailing list