line |
true |
false |
branch |
41
|
0 |
11 |
if(!r) return LDNS_STATUS_MEM_ERR; |
45
|
0 |
11 |
if(*end != 0) { |
52
|
11 |
0 |
return *rd?LDNS_STATUS_OK:LDNS_STATUS_MEM_ERR; |
67
|
0 |
2 |
if(!r) return LDNS_STATUS_MEM_ERR; |
71
|
2 |
0 |
if (strlen(time) == 14 && |
|
2 |
0 |
if (strlen(time) == 14 && |
77
|
0 |
2 |
if (tm.tm_year < 70) { |
80
|
2 |
0 |
if (tm.tm_mon < 0 || tm.tm_mon > 11) { |
|
2 |
0 |
if (tm.tm_mon < 0 || tm.tm_mon > 11) { |
83
|
2 |
0 |
if (tm.tm_mday < 1 || tm.tm_mday > 31) { |
|
2 |
0 |
if (tm.tm_mday < 1 || tm.tm_mday > 31) { |
87
|
2 |
0 |
if (tm.tm_hour < 0 || tm.tm_hour > 23) { |
|
2 |
0 |
if (tm.tm_hour < 0 || tm.tm_hour > 23) { |
91
|
2 |
0 |
if (tm.tm_min < 0 || tm.tm_min > 59) { |
|
2 |
0 |
if (tm.tm_min < 0 || tm.tm_min > 59) { |
95
|
2 |
0 |
if (tm.tm_sec < 0 || tm.tm_sec > 59) { |
|
2 |
0 |
if (tm.tm_sec < 0 || tm.tm_sec > 59) { |
104
|
2 |
0 |
return *rd?LDNS_STATUS_OK:LDNS_STATUS_MEM_ERR; |
108
|
0 |
0 |
if(*end != 0) { |
116
|
0 |
0 |
return *rd?LDNS_STATUS_OK:LDNS_STATUS_MEM_ERR; |
134
|
0 |
3 |
if(rd == NULL) { |
139
|
2 |
1 |
if (salt_length_str == 1 && salt_str[0] == '-') { |
|
2 |
0 |
if (salt_length_str == 1 && salt_str[0] == '-') { |
141
|
0 |
1 |
} else if (salt_length_str % 2 != 0) { |
144
|
0 |
3 |
if (salt_length_str > 512) { |
149
|
0 |
3 |
if(!salt) { |
152
|
8 |
3 |
for (c = 0; c < salt_length_str; c += 2) { |
153
|
8 |
0 |
if (isxdigit((int) salt_str[c]) && isxdigit((int) salt_str[c+1])) { |
|
8 |
0 |
if (isxdigit((int) salt_str[c]) && isxdigit((int) salt_str[c+1])) { |
164
|
0 |
3 |
if(!data) { |
174
|
3 |
0 |
return *rd?LDNS_STATUS_OK:LDNS_STATUS_MEM_ERR; |
186
|
0 |
12 |
if (*end != 0) { |
193
|
12 |
0 |
return *rd?LDNS_STATUS_OK:LDNS_STATUS_MEM_ERR; |
204
|
0 |
4 |
if(!r) return LDNS_STATUS_MEM_ERR; |
207
|
0 |
4 |
if(*longstr == '-') |
211
|
0 |
4 |
if(*end != 0) { |
215
|
0 |
4 |
if (errno == ERANGE) { |
223
|
4 |
0 |
return *rd?LDNS_STATUS_OK:LDNS_STATUS_MEM_ERR; |
234
|
0 |
14 |
if(!r) return LDNS_STATUS_MEM_ERR; |
238
|
0 |
14 |
if(*end != 0) { |
245
|
14 |
0 |
return *rd?LDNS_STATUS_OK:LDNS_STATUS_MEM_ERR; |
265
|
0 |
0 |
if ((*str_p)[0] && isdigit((*str_p)[0]) && |
|
0 |
0 |
if ((*str_p)[0] && isdigit((*str_p)[0]) && |
|
0 |
0 |
if ((*str_p)[0] && isdigit((*str_p)[0]) && |
266
|
0 |
0 |
(*str_p)[1] && isdigit((*str_p)[1]) && |
|
0 |
0 |
(*str_p)[1] && isdigit((*str_p)[1]) && |
267
|
0 |
0 |
(*str_p)[2] && isdigit((*str_p)[2])) { |
273
|
0 |
0 |
if (val > 255) { |
280
|
0 |
0 |
} else if ((*str_p)[0] && !isdigit((*str_p)[0])) { |
|
0 |
0 |
} else if ((*str_p)[0] && !isdigit((*str_p)[0])) { |
322
|
0 |
116 |
if (len > LDNS_MAX_DOMAINLEN * 4) { |
325
|
0 |
116 |
if (0 == len) { |
330
|
5 |
111 |
if (1 == len && *str == '.') { |
|
5 |
0 |
if (1 == len && *str == '.') { |
346
|
1168 |
110 |
for (s = str; *s; s++, q++) { |
347
|
0 |
1168 |
if (q > buf + LDNS_MAX_DOMAINLEN) { |
353
|
0 |
141 |
if (label_len > LDNS_MAX_LABELLEN) { |
356
|
1 |
140 |
if (label_len == 0) { |
367
|
0 |
0 |
if (! parse_escape(q, &s)) { |
380
|
80 |
30 |
if (!ldns_dname_str_absolute(str)) { |
381
|
0 |
80 |
if (q > buf + LDNS_MAX_DOMAINLEN) { |
384
|
0 |
80 |
if (label_len > LDNS_MAX_LABELLEN) { |
387
|
0 |
80 |
if (label_len == 0) { /* label_len 0 but not . at end? */ |
404
|
1 |
39 |
if (inet_pton(AF_INET, (char*)str, &address) != 1) { |
410
|
39 |
0 |
return *rd?LDNS_STATUS_OK:LDNS_STATUS_MEM_ERR; |
418
|
7 |
25 |
if (inet_pton(AF_INET6, (char*)str, address) != 1) { |
424
|
25 |
0 |
return *rd?LDNS_STATUS_OK:LDNS_STATUS_MEM_ERR; |
434
|
2 |
0 |
dp = data = LDNS_XMALLOC(uint8_t, strlen(str) > 255 ? 256 : (strlen(str) + 1)); |
435
|
0 |
2 |
if (! data) { |
440
|
141 |
2 |
while (parse_char(&ch, &str)) { |
441
|
0 |
141 |
if (dp - data >= 255) { |
447
|
0 |
2 |
if (! str) { |
456
|
0 |
2 |
if (! data) { |
463
|
0 |
2 |
if (! *rd) { |
489
|
0 |
0 |
if (strlen(my_str) < 2 |
490
|
0 |
0 |
|| strchr(my_str, ':') == NULL |
491
|
0 |
0 |
|| strchr(my_str, '/') == NULL |
492
|
0 |
0 |
|| strchr(my_str, ':') > strchr(my_str, '/')) { |
496
|
0 |
0 |
if (my_str[0] == '!') { |
510
|
0 |
0 |
if(!my_ip_str) return LDNS_STATUS_MEM_ERR; |
514
|
0 |
0 |
if (family == 1) { |
517
|
0 |
0 |
if(!afdpart) { |
521
|
0 |
0 |
if (inet_pton(AF_INET, my_ip_str, afdpart) == 0) { |
526
|
0 |
0 |
for (i = 0; i < 4; i++) { |
527
|
0 |
0 |
if (afdpart[i] != 0) { |
531
|
0 |
0 |
} else if (family == 2) { |
534
|
0 |
0 |
if(!afdpart) { |
538
|
0 |
0 |
if (inet_pton(AF_INET6, my_ip_str, afdpart) == 0) { |
543
|
0 |
0 |
for (i = 0; i < 16; i++) { |
544
|
0 |
0 |
if (afdpart[i] != 0) { |
558
|
0 |
0 |
if(!data) { |
566
|
0 |
0 |
if (negation) { |
578
|
0 |
0 |
return *rd?LDNS_STATUS_OK:LDNS_STATUS_MEM_ERR; |
588
|
0 |
4 |
if(!buffer) { |
594
|
0 |
4 |
if (-1 == i) { |
603
|
4 |
0 |
return *rd?LDNS_STATUS_OK:LDNS_STATUS_MEM_ERR; |
614
|
0 |
2 |
if(!buffer) { |
621
|
0 |
2 |
if (i < 0) { |
630
|
2 |
0 |
return *rd?LDNS_STATUS_OK:LDNS_STATUS_MEM_ERR; |
642
|
0 |
0 |
if (len > LDNS_MAX_RDFLEN * 2) { |
646
|
0 |
0 |
if(!t) { |
651
|
0 |
0 |
while (*str) { |
653
|
0 |
0 |
if (isspace((int) *str)) { |
656
|
0 |
0 |
for (i = 16; i >= 1; i -= 15) { |
657
|
0 |
0 |
while (*str && isspace((int) *str)) { str++; } |
|
0 |
0 |
while (*str && isspace((int) *str)) { str++; } |
658
|
0 |
0 |
if (*str) { |
659
|
0 |
0 |
if (isxdigit((int) *str)) { |
676
|
0 |
0 |
return *rd?LDNS_STATUS_OK:LDNS_STATUS_MEM_ERR; |
689
|
0 |
3 |
if(!token) return LDNS_STATUS_MEM_ERR; |
690
|
0 |
3 |
if(rd == NULL) { |
696
|
0 |
3 |
if(!str_buf) { |
701
|
0 |
3 |
if(ldns_buffer_status(str_buf) != LDNS_STATUS_OK) { |
707
|
9 |
3 |
while ((c = ldns_bget_token(str_buf, token, delimiters, LDNS_MAX_RDFLEN)) != -1 && c != 0) { |
|
9 |
0 |
while ((c = ldns_bget_token(str_buf, token, delimiters, LDNS_MAX_RDFLEN)) != -1 && c != 0) { |
708
|
0 |
9 |
if(type_count >= sizeof(type_list)) { |
724
|
3 |
0 |
return *rd?LDNS_STATUS_OK:LDNS_STATUS_MEM_ERR; |
735
|
1 |
0 |
return *rd?LDNS_STATUS_OK:LDNS_STATUS_MEM_ERR; |
746
|
0 |
0 |
return *rd?LDNS_STATUS_OK:LDNS_STATUS_MEM_ERR; |
761
|
0 |
0 |
if (lt) { |
765
|
0 |
0 |
if (!*rd) { |
805
|
0 |
4 |
if ((lt = ldns_lookup_by_name(lt, str))) { |
808
|
0 |
0 |
if (!*rd) |
869
|
0 |
0 |
while (isblank(*my_str)) { |
873
|
0 |
0 |
if (*my_str == '.') { |
877
|
0 |
0 |
if (meters >= 1) { |
884
|
0 |
0 |
while(val >= 10) { |
890
|
0 |
0 |
if (*e > 9) |
892
|
0 |
0 |
if (*my_str == 'm' || *my_str == 'M') { |
|
0 |
0 |
if (*my_str == 'm' || *my_str == 'M') { |
922
|
0 |
0 |
if (isdigit((int) *my_str)) { |
928
|
0 |
0 |
while (isblank((int) *my_str)) { |
932
|
0 |
0 |
if (isdigit((int) *my_str)) { |
934
|
0 |
0 |
} else if (*my_str == 'N' || *my_str == 'S') { |
|
0 |
0 |
} else if (*my_str == 'N' || *my_str == 'S') { |
940
|
0 |
0 |
while (isblank((int) *my_str)) { |
944
|
0 |
0 |
if (isdigit((int) *my_str)) { |
948
|
0 |
0 |
while (isblank((int) *my_str)) { |
952
|
0 |
0 |
if (*my_str == 'N') { |
954
|
0 |
0 |
} else if (*my_str == 'S') { |
969
|
0 |
0 |
if (northerness) { |
974
|
0 |
0 |
while (isblank(*my_str)) { |
978
|
0 |
0 |
if (isdigit((int) *my_str)) { |
984
|
0 |
0 |
while (isblank((int) *my_str)) { |
988
|
0 |
0 |
if (isdigit((int) *my_str)) { |
990
|
0 |
0 |
} else if (*my_str == 'E' || *my_str == 'W') { |
|
0 |
0 |
} else if (*my_str == 'E' || *my_str == 'W') { |
996
|
0 |
0 |
while (isblank(*my_str)) { |
1000
|
0 |
0 |
if (isdigit((int) *my_str)) { |
1005
|
0 |
0 |
while (isblank(*my_str)) { |
1009
|
0 |
0 |
if (*my_str == 'E') { |
1011
|
0 |
0 |
} else if (*my_str == 'W') { |
1027
|
0 |
0 |
if (easterness) { |
1035
|
0 |
0 |
if (*my_str == 'm' || *my_str == 'M') { |
|
0 |
0 |
if (*my_str == 'm' || *my_str == 'M') { |
1039
|
0 |
0 |
if (strlen(my_str) > 0) { |
1040
|
0 |
0 |
if(!loc_parse_cm(my_str, &my_str, &size_b, &size_e)) |
1044
|
0 |
0 |
if (strlen(my_str) > 0) { |
1045
|
0 |
0 |
if(!loc_parse_cm(my_str, &my_str, &horiz_pre_b, &horiz_pre_e)) |
1049
|
0 |
0 |
if (strlen(my_str) > 0) { |
1050
|
0 |
0 |
if(!loc_parse_cm(my_str, &my_str, &vert_pre_b, &vert_pre_e)) |
1055
|
0 |
0 |
if(!data) { |
1071
|
0 |
0 |
return *rd?LDNS_STATUS_OK:LDNS_STATUS_MEM_ERR; |
1089
|
0 |
0 |
if(strlen(str) == 0) |
1092
|
0 |
0 |
if(!token) return LDNS_STATUS_MEM_ERR; |
1095
|
0 |
0 |
if(!str_buf) {LDNS_FREE(token); return LDNS_STATUS_MEM_ERR;} |
1097
|
0 |
0 |
if(ldns_buffer_status(str_buf) != LDNS_STATUS_OK) { |
1103
|
0 |
0 |
while(ldns_bget_token(str_buf, token, "\t\n ", strlen(str)) > 0) { |
1104
|
0 |
0 |
if (!proto_str) { |
1106
|
0 |
0 |
if (!proto_str) { |
1114
|
0 |
0 |
if (serv) { |
1119
|
0 |
0 |
if (serv_port / 8 >= bm_len) { |
1121
|
0 |
0 |
if(!b2) { |
1130
|
0 |
0 |
for (; bm_len <= serv_port / 8; bm_len++) { |
1138
|
0 |
0 |
if (!proto_str || !bitmap) { |
|
0 |
0 |
if (!proto_str || !bitmap) { |
1147
|
0 |
0 |
if(!data) { |
1154
|
0 |
0 |
if (proto_str) |
1156
|
0 |
0 |
if (proto) { |
1158
|
0 |
0 |
} else if (proto_str) { |
1177
|
0 |
0 |
if(!*rd) return LDNS_STATUS_MEM_ERR; |
1189
|
0 |
0 |
if (str[0] != '0' || str[1] != 'x') { |
|
0 |
0 |
if (str[0] != '0' || str[1] != 'x') { |
1193
|
0 |
0 |
for (i=0; i < len; i++) { |
1194
|
0 |
0 |
if (nsap_str[i] == '.') |
1210
|
0 |
0 |
for (i=0; i < len; i++) { |
1211
|
0 |
0 |
if (atma_str[i] == '.') |
1238
|
0 |
0 |
if(strlen(str) == 0) |
1241
|
0 |
0 |
if(!token) return LDNS_STATUS_MEM_ERR; |
1244
|
0 |
0 |
if(!str_buf) {LDNS_FREE(token); return LDNS_STATUS_MEM_ERR;} |
1246
|
0 |
0 |
if(ldns_buffer_status(str_buf) != LDNS_STATUS_OK) { |
1251
|
0 |
0 |
while(ldns_bget_token(str_buf, token, "\t\n ", strlen(str)) > 0) { |
1264
|
0 |
0 |
if (!gateway || (gateway_type == 0 && |
|
0 |
0 |
if (!gateway || (gateway_type == 0 && |
|
0 |
0 |
if (!gateway || (gateway_type == 0 && |
1265
|
0 |
0 |
(token[0] != '.' || token[1] != '\0'))) { |
1284
|
0 |
0 |
if (!gateway || !publickey) { |
|
0 |
0 |
if (!gateway || !publickey) { |
1285
|
0 |
0 |
if (gateway) |
1287
|
0 |
0 |
if (publickey) |
1294
|
0 |
0 |
if (gateway_type == 1) { |
1296
|
0 |
0 |
} else if (gateway_type == 2) { |
1298
|
0 |
0 |
} else if (gateway_type == 3) { |
1302
|
0 |
0 |
if (status != LDNS_STATUS_OK) { |
1303
|
0 |
0 |
if (gateway) |
1305
|
0 |
0 |
if (publickey) |
1314
|
0 |
0 |
if (status != LDNS_STATUS_OK) { |
1315
|
0 |
0 |
if (gateway) |
1317
|
0 |
0 |
if (publickey) |
1321
|
0 |
0 |
if (gateway_rdf) ldns_rdf_free(gateway_rdf); |
1326
|
0 |
0 |
if (gateway_type) |
1332
|
0 |
0 |
if(!data) { |
1333
|
0 |
0 |
if (gateway) |
1335
|
0 |
0 |
if (publickey) |
1339
|
0 |
0 |
if (gateway_rdf) ldns_rdf_free(gateway_rdf); |
1340
|
0 |
0 |
if (publickey_rdf) ldns_rdf_free(publickey_rdf); |
1348
|
0 |
0 |
if (gateway_type) { |
1360
|
0 |
0 |
if (gateway) |
1362
|
0 |
0 |
if (publickey) |
1369
|
0 |
0 |
if(!*rd) return LDNS_STATUS_MEM_ERR; |
1380
|
0 |
0 |
if (sscanf(str, "%4x:%4x:%4x:%4x%n", &a, &b, &c, &d, &l) != 4 || |
|
0 |
0 |
if (sscanf(str, "%4x:%4x:%4x:%4x%n", &a, &b, &c, &d, &l) != 4 || |
1381
|
0 |
0 |
l != (int)strlen(str) || /* more data to read */ |
1393
|
0 |
0 |
return *rd ? LDNS_STATUS_OK : LDNS_STATUS_MEM_ERR; |
1403
|
0 |
0 |
if (sscanf(str, "%2x-%2x-%2x-%2x-%2x-%2x%n", |
1404
|
0 |
0 |
&a, &b, &c, &d, &e, &f, &l) != 6 || |
1416
|
0 |
0 |
return *rd ? LDNS_STATUS_OK : LDNS_STATUS_MEM_ERR; |
1426
|
0 |
0 |
if (sscanf(str, "%2x-%2x-%2x-%2x-%2x-%2x-%2x-%2x%n", |
1427
|
0 |
0 |
&a, &b, &c, &d, &e, &f, &g, &h, &l) != 8 || |
1441
|
0 |
0 |
return *rd ? LDNS_STATUS_OK : LDNS_STATUS_MEM_ERR; |
1450
|
0 |
0 |
if (strlen(str) > 255) { |
1453
|
0 |
0 |
for (ptr = str; *ptr; ptr++) { |
1454
|
0 |
0 |
if (! isalnum(*ptr)) { |
1459
|
0 |
0 |
if (!data) { |
1466
|
0 |
0 |
if (!*rd) { |
1481
|
0 |
0 |
if (! data) { |
1486
|
0 |
0 |
while (parse_char(&ch, &str)) { |
1488
|
0 |
0 |
if (dp - data > LDNS_MAX_RDFLEN) { |
1493
|
0 |
0 |
if (! str) { |
1500
|
0 |
0 |
if (! data) { |
1507
|
0 |
0 |
if (! *rd) { |
1518
|
0 |
0 |
const char *pk = hit == NULL ? NULL : strchr(hit, ' ') + 1; |
1520
|
0 |
0 |
: pk == NULL ? strlen(hit) : (size_t) (pk - hit) - 1; |
|
0 |
0 |
: pk == NULL ? strlen(hit) : (size_t) (pk - hit) - 1; |
1521
|
0 |
0 |
size_t pk_size = pk == NULL ? 0 : strlen(pk); |
1532
|
0 |
0 |
if (hit_size == 0 || pk_size == 0 || (hit_size + 1) / 2 > 255 |
|
0 |
0 |
if (hit_size == 0 || pk_size == 0 || (hit_size + 1) / 2 > 255 |
|
0 |
0 |
if (hit_size == 0 || pk_size == 0 || (hit_size + 1) / 2 > 255 |
1533
|
0 |
0 |
|| rdf_size > LDNS_MAX_RDFLEN |
1534
|
0 |
0 |
|| algorithm < 0 || algorithm > 255 |
|
0 |
0 |
|| algorithm < 0 || algorithm > 255 |
1535
|
0 |
0 |
|| (errno != 0 && algorithm == 0) /* out of range */ |
|
0 |
0 |
|| (errno != 0 && algorithm == 0) /* out of range */ |
1536
|
0 |
0 |
|| endptr == str /* no digits */) { |
1540
|
0 |
0 |
if ((data = LDNS_XMALLOC(uint8_t, rdf_size)) == NULL) { |
1574
|
0 |
0 |
for (dp = data + 4; *hit && *hit != ' '; dp++) { |
|
0 |
0 |
for (dp = data + 4; *hit && *hit != ' '; dp++) { |
1576
|
0 |
0 |
if ((hi = ldns_hexdigit_to_int(*hit++)) == -1 || |
|
0 |
0 |
if ((hi = ldns_hexdigit_to_int(*hit++)) == -1 || |
1584
|
0 |
0 |
if ((written = ldns_b64_pton(pk, dp, pk_wire_size)) <= 0) { |
1598
|
0 |
0 |
if (! (*rd = ldns_rdf_new(LDNS_RDF_TYPE_HIP, rdf_size, data))) { |