mirror of
https://github.com/NLnetLabs/unbound.git
synced 2026-09-07 02:17:43 +02:00
For #909: Numeric truncation when parsing TYPEXX and CLASSXX representation
- Fix return values. - Formatting nits.
This commit is contained in:
@@ -226,12 +226,15 @@ make_query(char* qname, char* qtype, char* qclass)
|
||||
printf("cannot parse query name: '%s'\n", qname);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
qinfo.qtype = sldns_get_rr_type_by_name(qtype);
|
||||
if(qinfo.qtype == 0 && strcmp(qtype, "TYPE0") != 0) {
|
||||
printf("cannot parse query type: '%s'\n", qtype);
|
||||
exit(1);
|
||||
}
|
||||
qinfo.qclass = sldns_get_rr_class_by_name(qclass);
|
||||
if((qinfo.qtype == 0 && strcmp(qtype, "TYPE0") != 0) ||
|
||||
(qinfo.qclass == 0 && strcmp(qclass, "CLASS0") != 0)) {
|
||||
return 0;
|
||||
if(qinfo.qclass == 0 && strcmp(qclass, "CLASS0") != 0) {
|
||||
printf("cannot parse query class: '%s'\n", qclass);
|
||||
exit(1);
|
||||
}
|
||||
qinfo.local_alias = NULL;
|
||||
|
||||
|
||||
+2
-2
@@ -459,14 +459,14 @@ qlist_parse_line(sldns_buffer* buf, char* p)
|
||||
qinfo.qtype = sldns_get_rr_type_by_name(cl);
|
||||
qinfo.qclass = sldns_get_rr_class_by_name(tp);
|
||||
if((qinfo.qtype == 0 && strcmp(cl, "TYPE0") != 0) ||
|
||||
(qinfo.qclass == 0 && strcmp(tp, "CLASS0") != 0)) {
|
||||
(qinfo.qclass == 0 && strcmp(tp, "CLASS0") != 0)) {
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
qinfo.qtype = sldns_get_rr_type_by_name(tp);
|
||||
qinfo.qclass = sldns_get_rr_class_by_name(cl);
|
||||
if((qinfo.qtype == 0 && strcmp(tp, "TYPE0") != 0) ||
|
||||
(qinfo.qclass == 0 && strcmp(cl, "CLASS0") != 0)) {
|
||||
(qinfo.qclass == 0 && strcmp(cl, "CLASS0") != 0)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132,10 +132,14 @@ write_q(int fd, int udp, SSL* ssl, sldns_buffer* buf, uint16_t id,
|
||||
|
||||
/* qtype and qclass */
|
||||
qinfo.qtype = sldns_get_rr_type_by_name(strtype);
|
||||
if(qinfo.qtype == 0 && strcmp(strtype, "TYPE0") != 0) {
|
||||
printf("cannot parse query type: '%s'\n", strtype);
|
||||
exit(1);
|
||||
}
|
||||
qinfo.qclass = sldns_get_rr_class_by_name(strclass);
|
||||
if((qinfo.qtype == 0 && strcmp(strtype, "TYPE0") != 0) ||
|
||||
(qinfo.qclass == 0 && strcmp(strclass, "CLASS0") != 0)) {
|
||||
return 0;
|
||||
if(qinfo.qclass == 0 && strcmp(strclass, "CLASS0") != 0) {
|
||||
printf("cannot parse query class: '%s'\n", strclass);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/* clear local alias */
|
||||
|
||||
Reference in New Issue
Block a user