diff options
author | dankcushions | 2016-05-13 16:21:37 +0100 |
---|---|---|
committer | cbransden | 2016-05-13 18:30:02 +0100 |
commit | bebaef4be9a87d92b11bc29a002a531a9d1fa5d7 (patch) | |
tree | 268c11889974c4dda4518c85eff7cf45b2e14dd2 /frontend | |
parent | 6f1d3c7a18600c59227b3373a5205841174f8e44 (diff) | |
download | pcsx_rearmed-bebaef4be9a87d92b11bc29a002a531a9d1fa5d7.tar.gz pcsx_rearmed-bebaef4be9a87d92b11bc29a002a531a9d1fa5d7.tar.bz2 pcsx_rearmed-bebaef4be9a87d92b11bc29a002a531a9d1fa5d7.zip |
Defensive code to avoid SEGFAULT
Diffstat (limited to 'frontend')
-rw-r--r-- | frontend/plugin.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/frontend/plugin.c b/frontend/plugin.c index cf93df8..53ecac9 100644 --- a/frontend/plugin.c +++ b/frontend/plugin.c @@ -67,7 +67,12 @@ static long PADreadPort1(PadDataS *pad, int pad_index) { } static long PADreadPort2(PadDataS *pad, int pad_index) { - pad->controllerType = in_type[pad_index]; + /* Temporary hack to avoid segfault when pad_index is a crazy number */ + if (pad_index <= 1 || pad_index > 8) { + pad_index = 1; + } + + pad->controllerType = in_type[pad_index]; pad->buttonStatus = ~in_keystate[pad_index]; if(multitap2==1){ pad->portMultitap=2; |