aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/psxcd/misc.c
diff options
context:
space:
mode:
authorspicyjpeg <thatspicyjpeg@gmail.com>2023-04-04 15:09:38 +0200
committerspicyjpeg <thatspicyjpeg@gmail.com>2023-04-04 15:09:38 +0200
commit870f4dca9d7b5e86544216d0e36863d17aefef62 (patch)
treef6186004da976cea19ee5764b795a51f932f77fb /libpsn00b/psxcd/misc.c
parentf7d9c309661f3027d5bfd119b3daf814e26ef589 (diff)
downloadpsn00bsdk-870f4dca9d7b5e86544216d0e36863d17aefef62.tar.gz
Add argument validation to most libpsn00b functions
Diffstat (limited to 'libpsn00b/psxcd/misc.c')
-rw-r--r--libpsn00b/psxcd/misc.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libpsn00b/psxcd/misc.c b/libpsn00b/psxcd/misc.c
index 851fea6..2f04821 100644
--- a/libpsn00b/psxcd/misc.c
+++ b/libpsn00b/psxcd/misc.c
@@ -33,6 +33,8 @@ static const char *const _unlock_regions[] = {
/* Sector DMA transfer functions */
int CdGetSector(void *madr, int size) {
+ _sdk_validate_args(madr && (size > 0), 0);
+
//while (!(CD_REG(0) & (1 << 6)))
//__asm__ volatile("");
@@ -47,6 +49,8 @@ int CdGetSector(void *madr, int size) {
}
int CdGetSector2(void *madr, int size) {
+ _sdk_validate_args(madr && (size > 0), 0);
+
//while (!(CD_REG(0) & (1 << 6)))
//__asm__ volatile("");
@@ -170,6 +174,8 @@ int CdUnlock(CdlRegionCode region) {
/* Misc. functions */
int CdGetToc(CdlLOC *toc) {
+ _sdk_validate_args(toc, 0);
+
uint8_t result[4];
if (!CdCommand(CdlGetTN, 0, 0, result))
@@ -199,6 +205,8 @@ int CdGetToc(CdlLOC *toc) {
}
int CdMix(const CdlATV *vol) {
+ _sdk_validate_args(vol, 0);
+
CD_REG(0) = 2;
CD_REG(2) = vol->val0;
CD_REG(3) = vol->val1;