Procházet zdrojové kódy

Fix out of bound read of 'has_hat' array

Mathieu Eyraud před 1 rokem
rodič
revize
94b3f78c44
1 změnil soubory, kde provedl 1 přidání a 1 odebrání
  1. 1 1
      src/joystick/linux/SDL_sysjoystick.c

+ 1 - 1
src/joystick/linux/SDL_sysjoystick.c

@@ -1149,7 +1149,7 @@ static void ConfigJoystick(SDL_Joystick *joystick, int fd, int fd_sensor)
         }
         for (i = 0; i < ABS_MAX; ++i) {
             /* Skip digital hats */
-            if (joystick->hwdata->has_hat[(i - ABS_HAT0X) / 2]) {
+            if (i >= ABS_HAT0X && i <= ABS_HAT3Y && joystick->hwdata->has_hat[(i - ABS_HAT0X) / 2]) {
                 continue;
             }
             if (test_bit(i, absbit)) {