You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Nice library. I found libpff to be highly useful for parsing Outlook mailbox files. In using libpff, though, I encountered a few issues:
The distribution of pypff on pypi does not include zlib and cannot handle compressed content, which makes its utility very limited. Also, it is distributed as source and requires Visual Studio to compile, which not everyone doing Python development has. It seems like it would make a lot more sense to distribute compiled binaries.
In libpff/libpff_io_handle2.c:301 offset_index_value->data_size is used when reading data lists. However, for compressed lists this is actually the compressed size, which can result in list read failures. I believe the correct variable to use here is the decompressed size, which can be accessed as data_block->uncompressed_data_size.
There are two mistakes in libcpath/libcpath_path.c in memory cleanup on function failures. These are on lines 2975 and 6235. The variable path is freed, whereas *path should be freed. Neither of these functions are actually called in libpff (and the Windows heap has good validation), so it's not a huge deal, but it still should be fixed. I found these mistakes using Visual Studio's code analysis, which is quite handy.
The text was updated successfully, but these errors were encountered:
Nice library. I found libpff to be highly useful for parsing Outlook mailbox files. In using libpff, though, I encountered a few issues:
The distribution of pypff on pypi does not include zlib and cannot handle compressed content, which makes its utility very limited. Also, it is distributed as source and requires Visual Studio to compile, which not everyone doing Python development has. It seems like it would make a lot more sense to distribute compiled binaries.
In libpff/libpff_io_handle2.c:301
offset_index_value->data_size
is used when reading data lists. However, for compressed lists this is actually the compressed size, which can result in list read failures. I believe the correct variable to use here is the decompressed size, which can be accessed asdata_block->uncompressed_data_size
.There are two mistakes in libcpath/libcpath_path.c in memory cleanup on function failures. These are on lines 2975 and 6235. The variable
path
is freed, whereas*path
should be freed. Neither of these functions are actually called in libpff (and the Windows heap has good validation), so it's not a huge deal, but it still should be fixed. I found these mistakes using Visual Studio's code analysis, which is quite handy.The text was updated successfully, but these errors were encountered: