From: Toni Wilen Date: Thu, 15 Sep 2016 13:53:26 +0000 (+0300) Subject: Fix buffer out of bounds read. X-Git-Tag: 3400~89 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=7c838579367747a4185ad0316fe4e25973be82a6;p=francis%2Fwinuae.git Fix buffer out of bounds read. --- diff --git a/inputdevice.cpp b/inputdevice.cpp index 2f7612b7..6bb419c2 100644 --- a/inputdevice.cpp +++ b/inputdevice.cpp @@ -4996,7 +4996,6 @@ static void setqualifiers (int evt, int state) qualifiers |= mask; else qualifiers &= ~mask; - //write_log (_T("%016llx\n"), qualifiers); } static uae_u64 getqualmask (uae_u64 *qualmask, struct uae_input_device *id, int num, bool *qualonly) @@ -5885,13 +5884,14 @@ static void resetjport (struct uae_prefs *prefs, int index) static void remove_compa_config (struct uae_prefs *prefs, int index) { int typelist; - const int *atp; + const int *atpp; int inputlist[MAX_COMPA_INPUTLIST]; - if (inputdevice_get_compatibility_input (prefs, index, &typelist, inputlist, &atp) <= 0) + if (inputdevice_get_compatibility_input (prefs, index, &typelist, inputlist, &atpp) <= 0) return; for (int i = 0; inputlist[i] >= 0; i++) { int evtnum = inputlist[i]; + const int *atp = atpp; int atpidx = 0; while (*atp >= 0) {