feat(libSceContentExport): validate session in data and file export queries

This commit is contained in:
Omar Elmahy committed 2026-11-01 05:34:22 +00:00
1 parent 5e936063e3
commit 08b8ad4e7a
3 files changed
+43 -20

No files matched your search

+2 -2
View File
@@ -2,9 +2,9 @@
### Functional
- [Content export sessions](../../../core/libs/prx/libSceContentExport/Export.cpp): the host has no media library, so `sceContentExportFromDataWithThumbnail` goes through `NotImplemented_nid_no_patch` for a valid session without invoking data callbacks. Session allocation does not reproduce guest allocator calls, worker creation or their failure paths. `sceContentExportGetProgress` goes through `NotImplemented_nid_no_patch` because an idle session returns either zero or an invalid-state error according to the caller's SDK compatibility mode, which is not available here. Initialization and session lookup still throw for some invalid inputs instead of reproducing the console's error precedence and legacy SDK behavior. Session IDs now use the lowest free slot in 0–9; exhaustion, termination with live sessions and cancellation before an export return the confirmed errors.
- [Content export sessions](../../../core/libs/prx/libSceContentExport/Export.cpp): the host has no media library, so `sceContentExportFromData`, `sceContentExportFromFile`, `sceContentExportFromFileWithThumbnail` and `sceContentExportFromDataWithThumbnail` validate the export session before calling `NotImplemented_nid_no_patch` without invoking data callbacks. Session allocation does not reproduce guest allocator calls, worker creation or failure paths. `sceContentExportGetProgress` calls `NotImplemented_nid_no_patch` because an idle session returns either zero or invalid-state according to caller SDK compatibility mode. Initialization and session lookup throw for some invalid inputs instead of reproducing console error precedence and legacy SDK behavior. Session IDs use the lowest free slot in 0–9; exhaustion, termination with live sessions and cancellation before export return confirmed errors.
- [sceContentExportFromData](../../../core/libs/prx/libSceContentExport/Export.cpp) (libSceContentExport) - throws as unimplemented. Two titles disassembled for this entry call it once each with 7 arguments: PPSA01746 (0xba0e14) between `sceContentExportStart` and `sceContentExportFinish`, treating any result other than 0 as failure, and the ContentManagement plugin of PPSA06465 (0x11f9), treating a negative result as failure and any other as success. What the arguments and the callback mean is not shown.
- [sceContentExportFromData](../../../core/libs/prx/libSceContentExport/Export.cpp) (libSceContentExport) - validates the export session and throws as unimplemented. Two titles disassembled for this entry call it once each with 7 arguments: PPSA01746 (0xba0e14) between `sceContentExportStart` and `sceContentExportFinish`, treating any result other than 0 as failure, and the ContentManagement plugin of PPSA06465 (0x11f9), treating a negative result as failure and any other as success. What the arguments and the callback mean is not shown.
### Unknown function info