Commit Graph

401 Commits

Author SHA1 Message Date
ba6e122c7c Fix bug that reported incorrect list of readable sector tags for CD images that had no unconforming prefix or suffix. 2026-01-06 10:54:32 +00:00
Rebecca Wallander
869376604c Use lazy loading of flux captures 2026-01-01 13:37:21 +01:00
Rebecca Wallander
c412030a8b Use block alignment offset instead of absolute offset 2026-01-01 13:37:21 +01:00
Rebecca Wallander
86b6680e3e Add data type to datastream block 2026-01-01 13:37:20 +01:00
Rebecca Wallander
d644f81fe3 Address some Sonar issues 2026-01-01 13:35:45 +01:00
Rebecca Wallander
65d34b1e9a Add flux implementation 2026-01-01 13:35:43 +01:00
3dc11ee8b1 Add static LRU hash map implementation with LRU-like eviction.
Not yet used.
2025-12-31 12:03:16 +00:00
4ca1938087 Fix table shift set up from hexadecimal to decimal.
It should be setup in 8 million sectors.
2025-12-31 12:02:22 +00:00
90be043c43 Optimize the data block readings even before. 2025-12-30 22:05:45 +00:00
df026fafb6 Set blockAlignmentShift in header to match parsed options 2025-12-30 20:20:49 +00:00
a1c1c342b6 Optimize opening of images so as to not read all data blocks searching for the biggest sector size if the header contains it. Continue old behaviour if not. 2025-12-30 20:15:07 +00:00
b7e0f60673 Guard against writes of too big sectors. 2025-12-30 20:14:18 +00:00
7f0dea2755 Repurpose two unused header fields to store biggest image sector size. 2025-12-30 20:13:39 +00:00
42aedc4bcf Enhance hash map resizing logic with intelligent size calculation for large maps 2025-12-30 11:12:22 +00:00
3385caac5d Fix typo in secondary DDTv2 identifier (back-compatible until out of alpha). 2025-12-30 11:12:00 +00:00
bc7c660a85 Update parse_options to include table_shift_found flag 2025-12-30 08:54:38 +00:00
344ce95619 Update parse_options function to return table_shift_found flag 2025-12-30 01:41:41 +00:00
43be8e89dd Change sector parameter types from uint16_t to uint32_t for negative and overflow sectors 2025-12-29 16:19:41 +00:00
541d4f499a Free cached secondary DDT during cleanup to prevent memory leaks 2025-12-28 17:58:48 +00:00
a558b4c489 Free compression buffer during cleanup to prevent memory leaks 2025-12-28 17:58:35 +00:00
dc4891b205 Free CRC64 context during cleanup to prevent memory leaks 2025-12-28 17:58:09 +00:00
fc13e2439a Free old cached DDT before replacing it to prevent memory leaks 2025-12-28 17:57:43 +00:00
ef3a154bd8 Free dump hardware entries array during cleanup to prevent memory leaks 2025-12-28 17:20:06 +00:00
92b27f44b2 Free DDT allocations during cleanup to prevent memory leaks 2025-12-28 17:19:54 +00:00
91e7da559b Free data tracks context during cleanup to prevent memory leaks 2025-12-28 17:19:27 +00:00
c042d9f057 Free CRC64 context after finalization to prevent memory leaks 2025-12-28 17:18:58 +00:00
2ce7e053e0 Add function to free Compact Disc ECC context and update cleanup logic 2025-12-28 17:04:14 +00:00
a93dcfc3d4 Add cache management functions and implement free callback for cached values 2025-12-28 16:57:19 +00:00
fb18a4f16a Implement safe copy for second block in CRC64 calculation to prevent buffer overflow 2025-12-28 16:56:29 +00:00
496a8d3cbc Fix buffer overflow risk in CRC64 calculation by implementing safe copy for second block 2025-12-28 16:31:30 +00:00
050810c91d Update copyright year to 2026. 2025-12-23 08:23:40 +00:00
d4f83cf9e4 Update copyright year to 2026. 2025-12-23 08:15:35 +00:00
5b90c53679 Ensure deduplication hash map is always initialized with a minimal size. 2025-12-21 20:16:26 +00:00
b89ffee884 Remove existing index entries before adding new blocks in close.c 2025-12-13 17:27:26 +00:00
5e18870f01 Fix include order. 2025-12-13 14:19:10 +00:00
ced56fad6c Added second layer DVD PFI structure data type. 2025-12-13 11:59:19 +00:00
03c091fdee Add dirty flags so structures only get rewritten on resume if they are changed. 2025-12-12 12:22:39 +00:00
a26ba9522e Fixes subchannel block wrong size initialization. 2025-12-10 08:44:59 +00:00
45f2494923 Fix closing blocks writing more data than needed 2025-12-10 08:44:25 +00:00
c5e3878174 Fix the size of the metadata block in memory buffer. 2025-12-10 01:15:27 +00:00
12418518c2 Fixed metadata block not being read correctly. 2025-12-10 00:31:37 +00:00
0d4d01fa8f Fix metadata block header not being written to image. 2025-12-09 19:38:40 +00:00
56bb631872 Read uncompressed DDT v1 into memory. 2025-11-26 03:20:58 +00:00
176cab648b Fix bounds with negative sectors. 2025-11-23 23:53:25 +00:00
2b98fb44d0 Skip LZMA properties when verifying compressed blocks. 2025-11-23 20:55:57 +00:00
dc613fef8e Override sector status when setting DDT entry as it can be different than cached deduplicated entries. 2025-11-22 17:44:28 +00:00
8022e32415 Fix incorrect media type references in read.c 2025-11-22 17:43:51 +00:00
bb6c427378 Fix calculation of negative sectors offset in DDT tables. 2025-11-22 13:51:10 +00:00
649ac6003d Pass parameter instead of hardcoded value in set_ddt_entry_v2. 2025-11-22 13:50:52 +00:00
4557822a66 Fix open mode when resuming. 2025-10-21 16:38:01 +01:00