Просмотр исходного кода

unix: Fix infinite looping in SDL_FriBidi_Process if len > 127

start/end should be FriBidiStrIndex here -- using FriBidiLevel makes
them `signed char` and the loop here will become infinite if `end` is
> 127.
John Schoenick 3 дней назад
Родитель
Сommit
0ffb0bdd87
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      src/core/unix/SDL_fribidi.c

+ 2 - 2
src/core/unix/SDL_fribidi.c

@@ -84,8 +84,8 @@ char *SDL_FriBidi_Process(SDL_FriBidi *fribidi, char *utf8, ssize_t utf8_len, bo
     char *result;
     FriBidiStrIndex len;
     FriBidiLevel max_level;
-    FriBidiLevel start;
-    FriBidiLevel end;
+    FriBidiStrIndex start;
+    FriBidiStrIndex end;
     FriBidiParType direction;
     FriBidiParType str_direction;
     unsigned int i;