]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
Fix incorrectly fixing gcc 9.0 warnings
authorWillem Toorop <willem@nlnetlabs.nl>
Thu, 11 Jul 2019 11:53:18 +0000 (13:53 +0200)
committerWillem Toorop <willem@nlnetlabs.nl>
Thu, 11 Jul 2019 11:53:18 +0000 (13:53 +0200)
rr.c

diff --git a/rr.c b/rr.c
index 7c2ded3ad7e89d1949007c0702cfab35604ed1d9..9f82bb66e0f84b24b888cd74162d4a2e36ac1a41 100644 (file)
--- a/rr.c
+++ b/rr.c
@@ -434,16 +434,18 @@ ldns_rr_new_frm_str_internal(ldns_rr **newrr, const char *str,
                        while(cur_hex_data_size < 2 * hex_data_size) {
                                c = ldns_bget_token(rd_buf, rd,
                                                delimiters, LDNS_MAX_RDFLEN);
-                               if (c == -1 || 
-                                   (size_t)cur_hex_data_size + rd_strlen >
-                                   2 * (size_t)hex_data_size) {
-
+                               if (c == -1) {
                                        status = LDNS_STATUS_SYNTAX_RDATA_ERR;
                                        goto error;
                                }
                                rd_strlen = strlen(rd);
+                               if ((size_t)cur_hex_data_size + rd_strlen >
+                                   2 * (size_t)hex_data_size) {
+                                       status = LDNS_STATUS_SYNTAX_RDATA_ERR;
+                                       goto error;
+                               }
                                strlcpy(hex_data_str + cur_hex_data_size, rd,
-                                               rd_strlen);
+                                               rd_strlen + 1);
 
                                cur_hex_data_size += rd_strlen;
                        }