Xteink-X4-crosspoint-reader/lib/Epub
IFAKA 73d1839ddd
fix: add bounds checks to Epub getter functions (#82)
## Problem
Three Epub getter functions can throw exceptions:
- `getCumulativeSpineItemSize()`: No bounds check before
`.at(spineIndex)`
- `getSpineItem()`: If spine is empty and index invalid, `.at(0)` throws
- `getTocItem()`: If toc is empty and index invalid, `.at(0)` throws

## Fix
- Add bounds check to `getCumulativeSpineItemSize()`, return 0 on error
- Add empty container checks to `getSpineItem()` and `getTocItem()`
- Use static fallback objects for safe reference returns on empty
containers

Changed `lib/Epub/Epub.cpp`.

## Test
- Defensive additions - follows existing bounds check patterns
- No logic changes for valid inputs
- Manual device testing appreciated
2025-12-21 13:36:30 +11:00
..
Epub Bugfix/word spacing indented (#59) 2025-12-19 08:45:20 +11:00
Epub.cpp fix: add bounds checks to Epub getter functions (#82) 2025-12-21 13:36:30 +11:00
Epub.h Caching of spine item sizes for faster book loading (saves 1-4 seconds). (#54) 2025-12-18 22:49:14 +11:00