libyal / libpff

Library and tools to access the Personal Folder File (PFF) and the Offline Folder File (OFF) format
GNU Lesser General Public License v3.0
291 stars 74 forks source link

Support NO_ATTACHMENT objects #108

Closed jengelh closed 2 years ago

jengelh commented 2 years ago

It is possible for attachments to have type 0 in PST files. libpff_attachment_get_type should not fail in this case. It is simply an attachment with no PR_ATTACH_DATA_BIN nor PR_ATTACH_DATA_OBJ, but other properties may exist.

Fixes #107

joachimmetz commented 2 years ago

@jengelh thx for the changes, I'll have a look when time permits, a test file would be beneficial as well to update the documentation and prevent future regression

codecov[bot] commented 2 years ago

Codecov Report

Merging #108 (3aa9336) into main (7cb3ec9) will decrease coverage by 2.97%. The diff coverage is 33.33%.

:exclamation: Current head 3aa9336 differs from pull request most recent head 0953528. Consider uploading reports for the commit 0953528 to get more accurate results

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #108      +/-   ##
==========================================
- Coverage   29.25%   26.28%   -2.98%     
==========================================
  Files          56       48       -8     
  Lines       20048    13416    -6632     
==========================================
- Hits         5866     3526    -2340     
+ Misses      14182     9890    -4292     
Impacted Files Coverage Δ
libpff/libpff_attachment.c 10.54% <33.33%> (+0.08%) :arrow_up:
libpff/libpff_file.c 3.60% <0.00%> (-51.17%) :arrow_down:
libpff/libpff_recover.c 0.00% <0.00%> (-45.00%) :arrow_down:
libpff/libpff_descriptors_index.c 5.20% <0.00%> (-42.76%) :arrow_down:
libpff/libpff_descriptor_data_stream.c 0.00% <0.00%> (-39.25%) :arrow_down:
libpff/libpff_name_to_id_map.c 0.00% <0.00%> (-38.91%) :arrow_down:
libpff/libpff_local_descriptors.c 10.99% <0.00%> (-37.43%) :arrow_down:
libpff/libpff_local_descriptors_tree.c 16.25% <0.00%> (-36.18%) :arrow_down:
libpff/libpff_io_handle.c 36.53% <0.00%> (-36.11%) :arrow_down:
libpff/libpff_data_array.c 13.12% <0.00%> (-35.22%) :arrow_down:
... and 41 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 7cb3ec9...0953528. Read the comment docs.

joachimmetz commented 2 years ago

NO_ATTACHMENT was already mentioned in https://github.com/libyal/libfmapi/blob/main/documentation/MAPI%20definitions.pdf

joachimmetz commented 2 years ago

@jengelh thx for the proposed changes, seeing that the remaining change is a 1 liner I'll bundle it with some other changes and close this PR