Mercurial > libpst
comparison src/libpst.c @ 356:fec7f4fca713
From Jeffrey Morlan:
pst_parse_block returns null upon finding a property of unrecognized
type. Many PSTs contain messages with these - it should just ignore
the property, not the whole message. Again, this causes missing
emails.
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Wed, 06 Jul 2016 10:15:28 -0700 |
parents | d1f930be4711 |
children | a3e674fade6c |
comparison
equal
deleted
inserted
replaced
355:d1f930be4711 | 356:fec7f4fca713 |
---|---|
1825 DEBUG_HEXDUMPC(mo_ptr->elements[x]->data, mo_ptr->elements[x]->size, 0x10); | 1825 DEBUG_HEXDUMPC(mo_ptr->elements[x]->data, mo_ptr->elements[x]->size, 0x10); |
1826 } | 1826 } |
1827 if (mo_ptr->elements[x]->type == 0) mo_ptr->elements[x]->type = table_rec.ref_type; | 1827 if (mo_ptr->elements[x]->type == 0) mo_ptr->elements[x]->type = table_rec.ref_type; |
1828 } else { | 1828 } else { |
1829 DEBUG_WARN(("ERROR Unknown ref_type %#hx\n", table_rec.ref_type)); | 1829 DEBUG_WARN(("ERROR Unknown ref_type %#hx\n", table_rec.ref_type)); |
1830 freeall(&subblocks, &block_offset1, &block_offset2, &block_offset3, &block_offset4, &block_offset5, &block_offset6, &block_offset7); | |
1831 pst_free_list(mo_head); | |
1832 DEBUG_RET(); | |
1833 return NULL; | |
1834 } | 1830 } |
1835 x++; | 1831 x++; |
1836 } | 1832 } |
1837 DEBUG_INFO(("increasing ind2_ptr by %i [%#x] bytes. Was %#x, Now %#x\n", rec_size, rec_size, ind2_ptr, ind2_ptr+rec_size)); | 1833 DEBUG_INFO(("increasing ind2_ptr by %i [%#x] bytes. Was %#x, Now %#x\n", rec_size, rec_size, ind2_ptr, ind2_ptr+rec_size)); |
1838 ind2_ptr += rec_size; | 1834 ind2_ptr += rec_size; |