ipa-firmware: Add the entry first and then seek

The sub entry might not be a SDP file so it is best to add the
read entry, add it to the list and then attempt to recursively
parse this one.
This commit is contained in:
Holger Hans Peter Freyther 2010-03-22 10:14:46 +01:00
parent e6678dcedb
commit f63bf4d8f1
1 changed files with 4 additions and 3 deletions

View File

@ -115,6 +115,10 @@ int ipaccess_analyze_file(int fd, const unsigned int st_size, const unsigned int
return -1;
}
header_entry = talloc_zero(header, struct sdp_header_item);
header_entry->header_entry = entry;
llist_add(&header_entry->entry, &header->header_list);
/* now we need to find the SDP file... */
offset = ntohl(entry.start) + 4 + base_offset;
if (lseek(fd, offset, SEEK_SET) != offset) {
@ -122,9 +126,6 @@ int ipaccess_analyze_file(int fd, const unsigned int st_size, const unsigned int
return -1;
}
header_entry = talloc_zero(header, struct sdp_header_item);
header_entry->header_entry = entry;
llist_add(&header_entry->entry, &header->header_list);
ipaccess_analyze_file(fd, ntohl(entry.length), offset, list);
}