Commit graph

163 commits

Author SHA1 Message Date
Eladash
5d78d81c00 cellSaveData: Filter directory lists to allowed savedata directories
Filters "." and "..", as well as possible wrong directories added by the user.
2020-03-13 22:43:27 +03:00
Eladash
b21b4faca8 cellSaveData: Fixed savedata lock after fmt::throw_exception 2020-03-13 22:43:27 +03:00
Eladash
d58f52ff31 cellSaveData: Add some listSet error checks
* Check listSet->fixedListNum.
* Check listSet->fixedList for nullptr and its directory items names.
* Check listSet->focusDirName for nullptr and directory name.
* Check listSet->newData->iconPosition.
* Check listSet->newData->dirName for nullptr and directory string.
* Check statSet->setParam->parental_level for old sdk.
* Return an error if listSet->focusPosition is NEWDATA and listSet->newData is nullptr.
* Simplify savedata directory list selection.
2020-03-13 22:43:27 +03:00
Eladash
54af8ec544 cellSaveData: funcFile fixes
* Allow '_' at filenames start and extension.
* Check if reading offset is valid, fix error code to CELL_SAVEDATA_ERROR_FAILURE.
* Don't create empty file on error of write ops.
* Don't allow "." and ".." filenames on funcFile, return CELL_SAVEDATA_ERROR_BROKEN.
2020-03-13 22:43:27 +03:00
Eladash
fdf47f43d8 cellSaveData: refactor param error 70 checks
Also extend the check to check empty name.
2020-03-13 22:43:27 +03:00
Nekotekina Aux1
250736ece5 Fix warnings in emucore 2020-03-04 21:23:34 +03:00
Eladash
de1774d8f2
cellSaveData: fix doneGet->sizeKB (#7674)
* cellSaveData: fix doneGet->sizeKB

* [⚠️] Warning: beware of typos [⚠️]
2020-03-03 11:24:49 +03:00
Eladash
7dfd50d5cc cellSaveData: followup to #7652 2020-03-01 20:09:46 +03:00
Eladash
ffd5a9e91c cellSaveData: Add some error checks for fixedSet, fileSet params 2020-03-01 10:56:41 +02:00
Eladash
655f7ce8a2 cellSaveData: Add null funcStat check
it's ordered specially for some functions
2020-03-01 00:14:45 +03:00
Eladash
34a0c3f488 cellSaveData: Add error param 72, 73 checks for file write ops 2020-02-29 13:06:14 +03:00
Eladash
30f7c81cc5 cellSaveData: Implement/Fix param error 22 for funcFile, funcDone, funcFixed and funcList 2020-02-28 16:47:51 +01:00
Eladash
0eabfdcadd cellSavedata: reset padding of g_savedata_context 2020-02-27 22:31:31 +03:00
Eladash
d86241bbcd cellSaveData: reset fileSet and fileGet->reserved everytime 2020-02-27 22:31:31 +03:00
Eladash
42a0512c66 cellSaveData: Avoid passing vm pointer to native API 2020-02-27 22:31:31 +03:00
Eladash
556aba46b5 cellSaveData: do not fail on empty directory 2020-02-27 22:31:31 +03:00
gamerforEA
93552a5958 Apply some Clang-Tidy fixes 2020-02-27 00:38:55 +03:00
JohnHolmesII
9b7d28b5dd cellSaveData.cpp: Use ref instead of copy 2020-02-23 09:38:04 +03:00
Nekotekina
92e3eaf3ff Fix signed-unsigned comparisons and mark warning as error (part 2). 2020-02-19 22:54:58 +03:00
Nekotekina
771eff273b First part of fixing sign-compare warning (inside be_t). 2020-02-19 22:54:58 +03:00
Nekotekina
f08c778d2c Use more starts_with/ends_with.
Remove ends_with global func.
2020-02-18 14:53:23 +03:00
Megamouse
fe75311be2 move config structs to own files and clean up some headers 2020-02-17 15:08:17 +03:00
Megamouse
b3ad89cc8b cellSaveData: remove duplicate yield 2020-01-03 14:22:40 +01:00
Megamouse
7af2ebb6f4 cellSaveData: use errDialog to skip error dialogs 2020-01-02 05:49:03 +01:00
Megamouse
a5c5927468 cellSaveData: only show dialogs in fixed functions 2019-12-31 14:15:43 +01:00
Megamouse
45dc5d9b02 cellSaveData: improve ppu schedule during dialogs 2019-12-29 14:22:58 +01:00
Megamouse
c4b4ce46b8 cellSaveData: don't pause apps during dialogs 2019-12-29 14:22:58 +01:00
Megamouse
0b78404337 cellSaveData: get confirmation if not CELL_SAVEDATA_OPTION_NOCONFIRM 2019-12-29 01:19:04 +01:00
Megamouse
bb7848f6e5 cellSaveData: add error dialog to callback result errors 2019-12-29 01:19:04 +01:00
Megamouse
47da907366 cellSaveData: add confirmation dialog for save data interactions 2019-12-29 01:19:04 +01:00
Megamouse
d73f04da13 cellSaveData: avoid nullptr if there is no dialog 2019-12-03 07:59:10 +01:00
Eladash
1986944c61 Implement sysutil_check_name_string
* Fully implement 3, 4, 16 and 17 error checks of cellSaveData.
* cellSysCacheMount restrict characters in ID.
* cellHddGameCheck restricts characters in dirName.
2019-11-10 14:32:15 +03:00
MSuih
f3ed26e9db Small warnings cleanup (#6671)
* Ignore more warnings

These are intentional

* Signed/unsigned mismatch when comparing

* Explictly cast values

* Intentionally discard a nodiscard value

* Change ppu_tid to u32

* Do not use POSIX function name on Windows

* Qt: Use horizontalAdvance instead of width

* Change progress variables to u32
2019-10-25 13:32:21 +03:00
Eladash
75ee668922 Log fs::g_tls_error on ACCESS_ERROR errors 2019-10-14 20:44:23 +03:00
Nekotekina
bd1a24b894 Tidy endianness support (se_t) implementation
Move se_t and se_storage to util/endian.hpp
Use single template instead of two specializations.
Add minor optimization for MSVC.
Remove v128 dependency.
Try to enable intrinsics for unaligned data.
Fix minor bug in u16/u32/u64 specializations.
2019-09-28 15:39:50 +03:00
Nekotekina
57f2189b1a cellSaveData: fix VFS escape usage 2019-09-27 19:04:16 +03:00
Nekotekina
cd843bda6e cellSaveData: always commit changes on error in funcFile loop
Make sure the changes which are already done are written.
2019-09-25 18:47:38 +03:00
Nekotekina
f841b47b6b cellSaveData: add auto maintenance routine in Emu.Init()
This routine:
1) Removes junk backup directories
2) Fixes interrupted save data process in edge case
This case can happen if emu terminates between two atomic renames.

Also use directory renaming technique for delete op.
Also rewrite recreate operation to be part of atomic process.
2019-09-25 18:47:38 +03:00
Nekotekina
40fcd457bf cellSaveData fixup 2019-09-23 03:15:41 +03:00
Eladash
2494091353 cellSaveData: Log param error code (#6587) 2019-09-23 03:07:23 +03:00
Nekotekina
d0db7ca6bd cellSaveData fixup (#6393)
Increase entry max size
2019-09-05 14:49:03 +03:00
RipleyTom
8de1239132 Simulate BSD FS for file order presentation in savedata 2019-09-05 03:01:46 +03:00
Megamouse
32b5b11a83 cellSaveData/overlays: prevent possible array out of bounds in list view 2019-08-26 21:09:20 +02:00
Megamouse
94dd6c2007 cellSaveData: improve param.sfo creation 2019-08-22 08:05:12 +02:00
Megamouse
896cfd2ade cellSaveData/cellMsgDialog: implement cellSaveDataDelete 2019-08-22 08:05:12 +02:00
Megamouse
0b720aeb59 cellSaveData: ignore dot and dotdot 2019-08-22 08:05:12 +02:00
Megamouse
b3c1759853 cellSaveData/overlays/Qt: fix some warnings and a possible nullptr deref 2019-08-22 08:05:12 +02:00
Megamouse
8debdfcd09 handle empty callback returns 2019-08-14 23:54:09 +02:00
Eladash
997e3046e3 vm/sys_overlay Improvements
- Implement sys_overlay_load_module_by_fd.
- Implement special segment allocation when ppc_seg flag is specified.
2019-07-28 14:23:58 +03:00
msuih
d57124d075 Explicitly cast size_t to integer types 2019-07-01 04:33:23 +03:00