From: Willem Toorop Date: Thu, 18 Jul 2019 18:10:16 +0000 (-0400) Subject: Stuff that came out of clang static analysis X-Git-Tag: release-1.7.1-rc1~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1475c8a922ba7b561e10c2fed3dd3469ffa2e521;p=thirdparty%2Fldns.git Stuff that came out of clang static analysis --- diff --git a/dnssec.c b/dnssec.c index 113b44e2..52c35ee7 100644 --- a/dnssec.c +++ b/dnssec.c @@ -371,7 +371,6 @@ ldns_key_buf2dsa_raw(const unsigned char* key, size_t len) offset += length; Y = BN_bin2bn(key+offset, (int)length, NULL); - offset += length; /* create the key and set its properties */ if(!Q || !P || !G || !Y || !(dsa = DSA_new())) { diff --git a/dnssec_sign.c b/dnssec_sign.c index 207438e0..c6d1dd2f 100644 --- a/dnssec_sign.c +++ b/dnssec_sign.c @@ -997,7 +997,6 @@ ldns_dnssec_zone_create_nsec3s_mkmap(ldns_dnssec_zone *zone, ; hashmap_node != LDNS_RBTREE_NULL ; hashmap_node = ldns_rbtree_next(hashmap_node) ) { - current_name = (ldns_dnssec_name *) hashmap_node->data; nsec_rr = ((ldns_dnssec_name *) hashmap_node->data)->nsec; if (nsec_rr) { ldns_rr_list_push_rr(nsec3_list, nsec_rr); diff --git a/dnssec_verify.c b/dnssec_verify.c index 8cf0c7c0..d22962eb 100644 --- a/dnssec_verify.c +++ b/dnssec_verify.c @@ -906,8 +906,9 @@ ldns_dnssec_derive_trust_tree_dnskey_rrset_time( cur_status = ldns_verify_rrsig_time( cur_rrset, cur_sig_rr, cur_parent_rr, check_time); - (void) ldns_dnssec_trust_tree_add_parent(new_tree, - cur_parent_tree, cur_sig_rr, cur_status); + if (ldns_dnssec_trust_tree_add_parent(new_tree, + cur_parent_tree, cur_sig_rr, cur_status)) + ldns_dnssec_trust_tree_free(cur_parent_tree); } } } @@ -1021,8 +1022,10 @@ ldns_dnssec_derive_trust_tree_no_sig_time( data_chain->parent, cur_parent_rr, check_time); - (void) ldns_dnssec_trust_tree_add_parent(new_tree, - cur_parent_tree, NULL, result); + if (ldns_dnssec_trust_tree_add_parent(new_tree, + cur_parent_tree, NULL, result)) + ldns_dnssec_trust_tree_free(cur_parent_tree); + } } } diff --git a/drill/chasetrace.c b/drill/chasetrace.c index 1f8a2901..dd495db5 100644 --- a/drill/chasetrace.c +++ b/drill/chasetrace.c @@ -295,7 +295,7 @@ do_trace(ldns_resolver *local_res, ldns_rdf *name, ldns_rr_type t, ldns_pkt_free(p); p = NULL; - status = ldns_resolver_send(&p, res, name, t, c, 0); + (void) ldns_resolver_send(&p, res, name, t, c, 0); if (!p) { goto cleanup; } diff --git a/drill/drill.c b/drill/drill.c index 74023a73..6efd29a5 100644 --- a/drill/drill.c +++ b/drill/drill.c @@ -366,6 +366,10 @@ main(int argc, char *argv[]) #ifdef HAVE_SSL if (strchr(optarg, ':')) { tsig_separator = (size_t) (strchr(optarg, ':') - optarg); + if (tsig_algorithm) { + free(tsig_algorithm); + tsig_algorithm = NULL; + } if (strchr(optarg + tsig_separator + 1, ':')) { tsig_separator2 = (size_t) (strchr(optarg + tsig_separator + 1, ':') - optarg); tsig_algorithm = xmalloc(strlen(optarg) - tsig_separator2); diff --git a/drill/securetrace.c b/drill/securetrace.c index b58d86ee..6967265d 100644 --- a/drill/securetrace.c +++ b/drill/securetrace.c @@ -241,7 +241,7 @@ do_secure_trace(ldns_resolver *local_res, ldns_rdf *name, ldns_rr_type t, goto done; } } - labels = LDNS_XMALLOC(ldns_rdf*, labels_count + 2); + labels = LDNS_CALLOC(ldns_rdf*, labels_count + 2); if (!labels) { goto done; } @@ -256,6 +256,13 @@ do_secure_trace(ldns_resolver *local_res, ldns_rdf *name, ldns_rr_type t, */ for(i = (ssize_t)labels_count + 1; i > 0; i--) { status = ldns_resolver_send(&local_p, res, labels[i], LDNS_RR_TYPE_NS, c, 0); + if (status != LDNS_STATUS_OK) { + fprintf(stderr, "Error sending query: %s\n", ldns_get_errorstr_by_id(status)); + result = status; + goto done; + } + + /* TODO: handle status */ if (verbosity >= 5) { ldns_pkt_print(stdout, local_p); diff --git a/duration.c b/duration.c index bcd16365..0a8d79b5 100644 --- a/duration.c +++ b/duration.c @@ -183,7 +183,6 @@ ldns_duration_create_from_string(const char* str) return NULL; } else { duration->weeks = (time_t) atoi(str+1); - str = W; } } return duration; diff --git a/examples/ldns-compare-zones.c b/examples/ldns-compare-zones.c index 3fa88b49..3cba5444 100644 --- a/examples/ldns-compare-zones.c +++ b/examples/ldns-compare-zones.c @@ -118,7 +118,6 @@ main(int argc, char **argv) argv += optind; if (argc != 2) { - argc -= optind; argv -= optind; usage(argv[0]); exit(EXIT_FAILURE); diff --git a/examples/ldns-dpa.c b/examples/ldns-dpa.c index 0a6c0700..1f080e6d 100644 --- a/examples/ldns-dpa.c +++ b/examples/ldns-dpa.c @@ -1650,7 +1650,7 @@ parse_match_expression(char *string) match_expression *expr; size_t i,j; size_t leftstart, leftend = 0; - char *left_str, *op, *val; + char *left_str, *op = NULL, *val; match_table *mt; match_operation *mo = NULL; const type_operators *tos; @@ -1658,7 +1658,7 @@ parse_match_expression(char *string) ldns_lookup_table *lt = NULL; /* remove whitespace */ - char *str = malloc(strlen(string) + 1); + char *str = calloc(1, strlen(string) + 1); j = 0; for (i = 0; i < strlen(string); i++) { @@ -1785,6 +1785,8 @@ parse_match_expression(char *string) if (i > strlen(str)) { printf("parse error no right hand side: %s\n", str); result = NULL; + if (op) + free(op); goto done; } } @@ -1795,6 +1797,8 @@ parse_match_expression(char *string) mt = get_match_by_name(left_str); if (!mt) { printf("parse error: unknown match name: %s\n", left_str); + if (op) + free(op); result = NULL; goto done; } else { @@ -1802,6 +1806,8 @@ parse_match_expression(char *string) tos = get_type_operators(mt->type); for (j = 0; j < tos->operator_count; j++) { if (get_op_id(op) == tos->operators[j]) { + if (mo) + free(mo); mo = malloc(sizeof(match_operation)); mo->id = mt->id; mo->operator = get_op_id(op); @@ -1875,6 +1881,8 @@ parse_match_expression(char *string) if (!mo) { printf("parse error: operator %s not allowed for match %s\n", op, left_str); result = NULL; + if (op) + free(op); goto done; } } @@ -2041,7 +2049,7 @@ handle_ether_packet(const u_char *data, struct pcap_pkthdr cur_hdr, match_counte int ip_hdr_size; uint8_t protocol; size_t data_offset = 0; - ldns_rdf *src_addr, *dst_addr; + ldns_rdf *src_addr = NULL, *dst_addr = NULL; uint8_t *ap; char *astr; bpf_u_int32 len = cur_hdr.caplen; @@ -2255,6 +2263,8 @@ printf("timeval: %u ; %u\n", cur_hdr.ts.tv_sec, cur_hdr.ts.tv_usec); ldns_pkt_free(pkt); ldns_rdf_deep_free(src_addr); ldns_rdf_deep_free(dst_addr); + if (newdata && newdata != data) + free((void *)newdata); return 0; } } else { @@ -2293,6 +2303,10 @@ printf("timeval: %u ; %u\n", cur_hdr.ts.tv_sec, cur_hdr.ts.tv_usec); /* tcp packets are skipped */ tcp_packets++; } + if (newdata && newdata != data) { + free((void *)newdata); + newdata = NULL; + } /* don't have a define for ethertype ipv6 */ } else if (ntohs (eptr->ether_type) == ETHERTYPE_IPV6) { /*printf("IPv6!\n");*/ @@ -2313,16 +2327,16 @@ printf("timeval: %u ; %u\n", cur_hdr.ts.tv_sec, cur_hdr.ts.tv_usec); if (ldns_str2rdf_aaaa(&src_addr, astr) == LDNS_STATUS_OK) { } - free(astr); } + free(astr); ap = (uint8_t *) &(ip6_hdr->ip6_dst); astr = malloc(INET6_ADDRSTRLEN); if (inet_ntop(AF_INET6, ap, astr, INET6_ADDRSTRLEN)) { if (ldns_str2rdf_aaaa(&dst_addr, astr) == LDNS_STATUS_OK) { } - free(astr); } + free(astr); ip_hdr_size = IP6_HEADER_LENGTH; protocol = (uint8_t) ip6_hdr->ip6_ctlun.ip6_un1.ip6_un1_nxt; @@ -2503,7 +2517,7 @@ parse_uniques(match_id ids[], size_t *count, char *string) match_table *mt; /*printf("Parsing unique counts: '%s'\n", string);*/ - str = malloc(strlen(string) + 1); + str = calloc(1, strlen(string) + 1); j = 0; for (i = 0; i < strlen(string); i++) { if (!isspace((unsigned char)string[i])) { @@ -2516,7 +2530,10 @@ parse_uniques(match_id ids[], size_t *count, char *string) lastpos = 0; for (i = 0; i <= strlen(str); i++) { if (str[i] == ',' || i >= strlen(str)) { - strpart = malloc(i - lastpos + 1); + if (!(strpart = malloc(i - lastpos + 1))) { + free(str); + return false; + } strncpy(strpart, &str[lastpos], i - lastpos); strpart[i - lastpos] = '\0'; if ((mt = get_match_by_name(strpart))) { @@ -2524,6 +2541,7 @@ parse_uniques(match_id ids[], size_t *count, char *string) *count = *count + 1; } else { printf("Error parsing match list; unknown match name: %s\n", strpart); + free(strpart); free(str); return false; } @@ -2543,7 +2561,6 @@ parse_uniques(match_id ids[], size_t *count, char *string) return false; } free(strpart); - lastpos = i + 1; } free(str); return true; diff --git a/examples/ldns-key2ds.c b/examples/ldns-key2ds.c index be1f8c65..898755dd 100644 --- a/examples/ldns-key2ds.c +++ b/examples/ldns-key2ds.c @@ -93,7 +93,6 @@ main(int argc, char *argv[]) ldns_status result = LDNS_STATUS_OK; int sep_only = 1; - alg = 0; h = LDNS_SHA1; argv++, argc--; diff --git a/examples/ldns-keyfetcher.c b/examples/ldns-keyfetcher.c index 10a47ddc..a15a63cd 100644 --- a/examples/ldns-keyfetcher.c +++ b/examples/ldns-keyfetcher.c @@ -447,6 +447,7 @@ retrieve_dnskeys(ldns_resolver *local_res, ldns_rdf *name, ldns_rr_type t, if (!p) { fprintf(stderr, "no packet received\n"); + LDNS_FREE(last_nameservers); return NULL; } @@ -454,12 +455,14 @@ retrieve_dnskeys(ldns_resolver *local_res, ldns_rdf *name, ldns_rr_type t, fprintf(stderr, "Error: nameserver at "); ldns_rdf_print(stderr, last_nameservers[nss_i]); fprintf(stderr, " not responding. Unable to check RRset here, aborting.\n"); + LDNS_FREE(last_nameservers); return NULL; } if (ldns_pkt_get_rcode(p) != LDNS_RCODE_NOERROR) { printf("Error in packet:\n"); ldns_pkt_print(stdout, p); + LDNS_FREE(last_nameservers); return NULL; } diff --git a/examples/ldns-notify.c b/examples/ldns-notify.c index 2cbc2233..bfd12384 100644 --- a/examples/ldns-notify.c +++ b/examples/ldns-notify.c @@ -344,11 +344,13 @@ main(int argc, char **argv) } status = ldns_pkt2wire(&wire, notify, &wiresize); - if(wiresize == 0) { + if (status) { + printf("Error converting notify packet to hex: %s\n", + ldns_get_errorstr_by_id(status)); + } else if(wiresize == 0) { printf("Error converting notify packet to hex.\n"); exit(1); } - if(do_hexdump && verbose > 1) { printf("Hexdump of notify packet:\n"); for(i=0; i<(int)wiresize; i++) diff --git a/examples/ldns-nsec3-hash.c b/examples/ldns-nsec3-hash.c index 0ba2e68a..f9325d3b 100644 --- a/examples/ldns-nsec3-hash.c +++ b/examples/ldns-nsec3-hash.c @@ -60,6 +60,7 @@ main(int argc, char *argv[]) fprintf(stderr, "Salt too long\n"); exit(EXIT_FAILURE); } + if (nsec3_salt) LDNS_FREE(nsec3_salt); nsec3_salt_length = (uint8_t) (strlen(optarg) / 2); nsec3_salt = LDNS_XMALLOC(uint8_t, nsec3_salt_length); for (c = 0; c < (int) strlen(optarg); c += 2) { @@ -97,6 +98,8 @@ main(int argc, char *argv[]) } else { dname = ldns_dname_new_frm_str(argv[0]); if (!dname) { + free(prog); + if (nsec3_salt) free(nsec3_salt); fprintf(stderr, "Error: unable to parse domain name\n"); return EXIT_FAILURE; @@ -107,6 +110,8 @@ main(int argc, char *argv[]) nsec3_salt_length, nsec3_salt); if (!hashed_dname) { + free(prog); + if (nsec3_salt) free(nsec3_salt); fprintf(stderr, "Error creating NSEC3 hash\n"); return EXIT_FAILURE; diff --git a/examples/ldns-rrsig.c b/examples/ldns-rrsig.c index a6658616..6aba96c2 100644 --- a/examples/ldns-rrsig.c +++ b/examples/ldns-rrsig.c @@ -61,7 +61,7 @@ main(int argc, char *argv[]) if (argc == 3) { /* optional type arg */ - type_name = strdup(argv[2]); + type_name = argv[2]; t = ldns_rdf2rr_type( ldns_rdf_new_frm_str(LDNS_RDF_TYPE_TYPE, type_name)); if (t == 0) { diff --git a/examples/ldns-testns.c b/examples/ldns-testns.c index 144b9457..3a7dbae7 100644 --- a/examples/ldns-testns.c +++ b/examples/ldns-testns.c @@ -326,7 +326,7 @@ handle_tcp(int tcp_sock, struct entry* entries, int *count) struct sockaddr_storage addr_him; socklen_t hislen; uint8_t inbuf[INBUF_SIZE]; - uint16_t tcplen; + uint16_t tcplen = 0; struct handle_tcp_userdata userdata; /* accept */ diff --git a/examples/ldns-testpkts.c b/examples/ldns-testpkts.c index cc339790..c67541d0 100644 --- a/examples/ldns-testpkts.c +++ b/examples/ldns-testpkts.c @@ -35,6 +35,7 @@ static const char* prog_name = "ldns-testpkts"; void verbose(int lvl, const char* msg, ...) ATTR_FORMAT(printf, 2, 3); /** print error and exit */ +static void error(const char* msg, ...) __attribute__((noreturn)); static void error(const char* msg, ...) { va_list args; diff --git a/examples/ldns-walk.c b/examples/ldns-walk.c index 2afe24e2..ae6342dd 100644 --- a/examples/ldns-walk.c +++ b/examples/ldns-walk.c @@ -120,7 +120,7 @@ create_plus_1_dname(ldns_rdf *dname) return label; } -static ldns_status +static void query_type_bitmaps(ldns_resolver *res, uint16_t res_flags, const ldns_rdf *name, @@ -191,11 +191,8 @@ query_type_bitmaps(ldns_resolver *res, } } } - pos += (uint16_t) bitmap_length; } - - return LDNS_STATUS_OK; } @@ -639,7 +636,7 @@ main(int argc, char *argv[]) /* ok, so now we know all the types present at this name, * query for those one by one (...) */ - status = query_type_bitmaps(res, LDNS_RD, ldns_rr_owner(nsec_rr), + query_type_bitmaps(res, LDNS_RD, ldns_rr_owner(nsec_rr), ldns_rr_rdf(nsec_rr, 1)); /* print this nsec and its signatures too */ ldns_rr_print(stdout, nsec_rr); diff --git a/examples/ldnsd.c b/examples/ldnsd.c index c742f04d..e39c4283 100644 --- a/examples/ldnsd.c +++ b/examples/ldnsd.c @@ -223,7 +223,7 @@ main(int argc, char **argv) if (status != LDNS_STATUS_OK) { printf("Error creating answer: %s\n", ldns_get_errorstr_by_id(status)); } else { - nb = sendto(sock, (void*)outbuf, answer_size, 0, + (void) sendto(sock, (void*)outbuf, answer_size, 0, &addr_him, hislen); } diff --git a/host2str.c b/host2str.c index 1c976dfe..3ca23c20 100644 --- a/host2str.c +++ b/host2str.c @@ -483,7 +483,7 @@ ldns_rdf2buffer_str_str(ldns_buffer *output, const ldns_rdf *rdf) ldns_status ldns_rdf2buffer_str_b64(ldns_buffer *output, const ldns_rdf *rdf) { - size_t size = ldns_b64_ntop_calculate_size(ldns_rdf_size(rdf)); + size_t size; char *b64; if (ldns_rdf_size(rdf) == 0) { @@ -2327,6 +2327,7 @@ ldns_key2buffer_str(ldns_buffer *output, const ldns_key *k) ldns_buffer_printf(output, "Algorithm: %d (", ldns_key_algorithm(k)); status=ldns_algorithm2buffer_str(output, (ldns_algorithm)ldns_key_algorithm(k)); ldns_buffer_printf(output, ")\n"); + if (status) break; status = ldns_ed25519_key2buffer_str(output, k->_key.key); break; @@ -2337,6 +2338,7 @@ ldns_key2buffer_str(ldns_buffer *output, const ldns_key *k) ldns_buffer_printf(output, "Algorithm: %d (", ldns_key_algorithm(k)); status=ldns_algorithm2buffer_str(output, (ldns_algorithm)ldns_key_algorithm(k)); ldns_buffer_printf(output, ")\n"); + if (status) break; status = ldns_ed448_key2buffer_str(output, k->_key.key); break; diff --git a/net.c b/net.c index 0656c1cb..38d00cff 100644 --- a/net.c +++ b/net.c @@ -355,12 +355,7 @@ ldns_tcp_send_from(uint8_t **result, ldns_buffer *qbin, return LDNS_STATUS_NETWORK_ERR; } - /* resize accordingly */ - *result = LDNS_XREALLOC(answer, uint8_t, (size_t)*answer_size); - if(!*result) { - LDNS_FREE(answer); - return LDNS_STATUS_MEM_ERR; - } + *result = answer; return LDNS_STATUS_OK; } @@ -622,10 +617,12 @@ ldns_send_buffer(ldns_pkt **result, ldns_resolver *r, ldns_buffer *qb, ldns_rdf status = ldns_wire2pkt(&reply, reply_bytes, reply_size); if (status != LDNS_STATUS_OK) { + if(src) LDNS_FREE(src); LDNS_FREE(reply_bytes); LDNS_FREE(ns); return status; } + assert(reply); LDNS_FREE(ns); gettimeofday(&tv_e, NULL); diff --git a/resolver.c b/resolver.c index a1a746e5..84dfe95b 100644 --- a/resolver.c +++ b/resolver.c @@ -764,7 +764,7 @@ ldns_resolver_new_frm_fp(ldns_resolver **res, FILE *fp) ldns_status ldns_resolver_new_frm_fp_l(ldns_resolver **res, FILE *fp, int *line_nr) { - ldns_resolver *r; + ldns_resolver *r = NULL; const char *keyword[LDNS_RESOLV_KEYWORDS]; char word[LDNS_MAX_LINELEN + 1]; int8_t expect; @@ -800,7 +800,6 @@ ldns_resolver_new_frm_fp_l(ldns_resolver **res, FILE *fp, int *line_nr) keyword[LDNS_RESOLV_SORTLIST] = "sortlist"; keyword[LDNS_RESOLV_OPTIONS] = "options"; keyword[LDNS_RESOLV_ANCHOR] = "anchor"; - expect = LDNS_RESOLV_KEYWORD; r = ldns_resolver_new(); if (!r) { @@ -860,6 +859,7 @@ ldns_resolver_new_frm_fp_l(ldns_resolver **res, FILE *fp, int *line_nr) gtr = ldns_fget_token_l(myfp, word, LDNS_PARSE_NORMAL, 0, line_nr); if (gtr == 0) { if(!fp) fclose(myfp); + ldns_resolver_deep_free(r); return LDNS_STATUS_SYNTAX_MISSING_VALUE_ERR; } if(word[0] == '#') { @@ -868,8 +868,8 @@ ldns_resolver_new_frm_fp_l(ldns_resolver **res, FILE *fp, int *line_nr) } tmp = ldns_rdf_new_frm_str(LDNS_RDF_TYPE_DNAME, word); if (!tmp) { - ldns_resolver_deep_free(r); if(!fp) fclose(myfp); + ldns_resolver_deep_free(r); return LDNS_STATUS_SYNTAX_DNAME_ERR; } @@ -882,6 +882,7 @@ ldns_resolver_new_frm_fp_l(ldns_resolver **res, FILE *fp, int *line_nr) gtr = ldns_fget_token_l(myfp, word, LDNS_PARSE_NORMAL, 0, line_nr); if (gtr == 0) { if(!fp) fclose(myfp); + ldns_resolver_deep_free(r); return LDNS_STATUS_SYNTAX_MISSING_VALUE_ERR; } if(word[0] == '#') { diff --git a/rr.c b/rr.c index 9f82bb66..9a834e37 100644 --- a/rr.c +++ b/rr.c @@ -395,6 +395,7 @@ ldns_rr_new_frm_str_internal(ldns_rr **newrr, const char *str, rd_buf, rd, delimiters, LDNS_MAX_RDFLEN))) { done = true; + (void)done; /* we're breaking, so done not read anymore */ break; } /* hmmz, rfc3597 specifies that any type can be represented diff --git a/sha1.c b/sha1.c index 18a4dd28..96e8f968 100644 --- a/sha1.c +++ b/sha1.c @@ -97,6 +97,7 @@ ldns_sha1_transform(uint32_t state[5], const unsigned char buffer[LDNS_SHA1_BLOC state[4] += e; /* Wipe variables */ a = b = c = d = e = 0; + (void)a; } diff --git a/sha2.c b/sha2.c index 9a27122b..e0b1f4b9 100644 --- a/sha2.c +++ b/sha2.c @@ -494,6 +494,7 @@ static void ldns_sha256_Transform(ldns_sha256_CTX* context, /* Clean up */ a = b = c = d = e = f = g = h = T1 = T2 = 0; + (void)a; } #endif /* SHA2_UNROLL_TRANSFORM */ @@ -527,6 +528,7 @@ void ldns_sha256_update(ldns_sha256_CTX* context, const sha2_byte *data, size_t context->bitcount += len << 3; /* Clean up: */ usedspace = freespace = 0; + (void)usedspace; return; } } @@ -544,6 +546,7 @@ void ldns_sha256_update(ldns_sha256_CTX* context, const sha2_byte *data, size_t } /* Clean up: */ usedspace = freespace = 0; + (void)usedspace; } typedef union _ldns_sha2_buffer_union { @@ -614,6 +617,7 @@ void ldns_sha256_final(sha2_byte digest[], ldns_sha256_CTX* context) { /* Clean up state data: */ MEMSET_BZERO(context, sizeof(ldns_sha256_CTX)); usedspace = 0; + (void)usedspace; } unsigned char * @@ -803,6 +807,7 @@ static void ldns_sha512_Transform(ldns_sha512_CTX* context, /* Clean up */ a = b = c = d = e = f = g = h = T1 = T2 = 0; + (void)a; } #endif /* SHA2_UNROLL_TRANSFORM */ @@ -836,6 +841,7 @@ void ldns_sha512_update(ldns_sha512_CTX* context, const sha2_byte *data, size_t ADDINC128(context->bitcount, len << 3); /* Clean up: */ usedspace = freespace = 0; + (void)usedspace; return; } } @@ -853,6 +859,7 @@ void ldns_sha512_update(ldns_sha512_CTX* context, const sha2_byte *data, size_t } /* Clean up: */ usedspace = freespace = 0; + (void)usedspace; } static void ldns_sha512_Last(ldns_sha512_CTX* context) { diff --git a/str2host.c b/str2host.c index a0b7650e..435ad1a4 100644 --- a/str2host.c +++ b/str2host.c @@ -57,13 +57,13 @@ ldns_status ldns_str2rdf_time(ldns_rdf **rd, const char *time) { /* convert a time YYYYDDMMHHMMSS to wireformat */ - uint16_t *r = NULL; + uint32_t *r = NULL; struct tm tm; uint32_t l; char *end; /* Try to scan the time... */ - r = (uint16_t*)LDNS_MALLOC(uint32_t); + r = (uint32_t *)LDNS_MALLOC(uint32_t); if(!r) return LDNS_STATUS_MEM_ERR; memset(&tm, 0, sizeof(tm)); @@ -197,10 +197,10 @@ ldns_status ldns_str2rdf_int32(ldns_rdf **rd, const char *longstr) { char *end; - uint16_t *r = NULL; + uint32_t *r = NULL; uint32_t l; - r = (uint16_t*)LDNS_MALLOC(uint32_t); + r = (uint32_t*)LDNS_MALLOC(uint32_t); if(!r) return LDNS_STATUS_MEM_ERR; errno = 0; /* must set to zero before call, note race condition on errno */ @@ -1579,7 +1579,7 @@ ldns_str2rdf_hip(ldns_rdf **rd, const char *str) size_t rdf_size = 4 + hit_wire_size + pk_wire_size; char *endptr; /* utility var for strtol usage */ - int algorithm = strtol(str, &endptr, 10); + int algorithm = str == NULL ? 0 : strtol(str, &endptr, 10); uint8_t *data, *dp; int hi, lo, written;