]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
fix numtrunc in str2wire.c
authorheadshog <craaaaaachind@gmail.com>
Tue, 11 Jul 2023 15:44:31 +0000 (18:44 +0300)
committerheadshog <craaaaaachind@gmail.com>
Mon, 17 Jul 2023 09:58:52 +0000 (12:58 +0300)
sldns/rrdef.c

index 322eff096c03120dbfe74b7d8d95333309f5f6a1..130324a1f87ae3cd4bc976c6ca6929832aae3c81 100644 (file)
@@ -702,7 +702,11 @@ sldns_get_rr_type_by_name(const char *name)
 
        /* TYPEXX representation */
        if (strlen(name) > 4 && strncasecmp(name, "TYPE", 4) == 0) {
-               return atoi(name + 4);
+               unsigned int a = atoi(name + 4);
+               if (a > LDNS_RR_TYPE_LAST) {
+                       return (enum sldns_enum_rr_type)0;
+               }
+               return a;
        }
 
        /* Normal types */
@@ -740,7 +744,11 @@ sldns_get_rr_class_by_name(const char *name)
 
        /* CLASSXX representation */
        if (strlen(name) > 5 && strncasecmp(name, "CLASS", 5) == 0) {
-               return atoi(name + 5);
+               unsigned int a = atoi(name + 5);
+               if (a > LDNS_RR_TYPE_LAST) {
+                       return (enum sldns_enum_rr_type)0;
+               }
+               return a;
        }
 
        /* Normal types */