escl: fix char_to_array memory allocation calculations

Too little memory allocated due to incorrect calculation.

Fixes #425
escl-fix-sleep-mode
Timo Teräs 2021-01-15 16:45:12 +02:00
rodzic d46fbd9d79
commit 891ccac3b6
1 zmienionych plików z 2 dodań i 2 usunięć

Wyświetl plik

@ -90,9 +90,9 @@ char_to_array(SANE_String_Const *tab, int *tabsize, SANE_String_Const mode, int
}
(*tabsize)++;
if (*tabsize == 1)
board = (SANE_String_Const *)malloc(sizeof(SANE_String_Const) * (*tabsize) + 1);
board = (SANE_String_Const *)malloc(sizeof(SANE_String_Const) * ((*tabsize) + 1));
else
board = (SANE_String_Const *)realloc(tab, sizeof(SANE_String_Const) * (*tabsize) + 1);
board = (SANE_String_Const *)realloc(tab, sizeof(SANE_String_Const) * ((*tabsize) + 1));
board[*tabsize - 1] = (SANE_String_Const)strdup(convert);
board[*tabsize] = NULL;
return (board);