Displaying 3 results from an estimated 3 matches for "rri_sigs".
2007 May 21
1
[PATCH] Add support for ldns
...-{
- u_int16_t i;
-
- if (rrset == NULL)
- return;
-
- if (rrset->rri_rdatas) {
- for (i = 0; i < rrset->rri_nrdatas; i++) {
- if (rrset->rri_rdatas[i].rdi_data == NULL)
- break;
- free(rrset->rri_rdatas[i].rdi_data);
- }
- free(rrset->rri_rdatas);
- }
-
- if (rrset->rri_sigs) {
- for (i = 0; i < rrset->rri_nsigs; i++) {
- if (rrset->rri_sigs[i].rdi_data == NULL)
- break;
- free(rrset->rri_sigs[i].rdi_data);
- }
- free(rrset->rri_sigs);
- }
-
- if (rrset->rri_name)
- free(rrset->rri_name);
- free(rrset);
-}
-
/*
* DNS response parsing...
2012 Jun 26
2
[Bug 2022] New: ssh segfaults when using ldns, SSHFP, a DNSSEC-enabled resolver and a CNAME
...)
I have tracked the problem down to the file
openbsd-compat/getrrsetbyname-ldns.c
In function getrrsetbyname, when the DNS resolver sets the ad flags,
ssh doesn't allocate memory to contain RRSIG signatures. However it
still attempts to copy those signatures from the DNS answer. If
rrset->rri_sigs is null, rdata = &rrset->rri_sigs[0] is still null and
the signature is ignored later in the code. Luckily, most of the time,
you only have one signature and there is no problem. If you have a
CNAME, you got two signatures and &rrset->rri_sigs[1] is no not null
hence the segfault.
--...
2012 Jun 29
2
[Bug 2022] ssh segfaults when using ldns, SSHFP, a DNSSEC-enabled resolver and a CNAME
...show_bug.cgi?id=2022
--- Comment #2 from Darren Tucker <dtucker at zip.com.au> ---
Patch applied, thanks.
I still don't understand how it gets into this state since the space
should be allocated immediately beforehand:
if (rrset->rri_nsigs > 0) {
rrset->rri_sigs = calloc(rrset->rri_nsigs,
sizeof(struct rdatainfo));
What's rrset->rri_nsigs in the failure case?
--
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.