Bug Fix

  • Fixed a native crash (SIGSEGV / double-free) in NcgEpubFile that could occur when the same content was rapidly reopened in a multi-threaded environment; close() and release() are now synchronized to prevent concurrent access to the native file handle.

Changes

  • NcgEpubFile.close() now fully releases the native file context on each call; crypto objects remain cached at the native layer, so reopening the same CID stays fast with no performance impact.

  • NcgEpubFile.release() now resets internal license and header state, ensuring proper license re-validation when a different CID is opened on the same instance.

  • Updated Javadoc for NcgEpubFile (createNcgEpub(), open(), close(), release()) to document the correct lifecycle and one-instance-per-CID usage rule.