android: Fix type of a C string to be const char[].

With the wrong type, we were measuring the sizeof() wrongly, leading to
a hard to catch crash at start that appeared only from time to time.

Improve the concatenation too when at that.

Change-Id: I4a4ab2909124281aac99118d66c62d669294d5f7
Reviewed-on: https://gerrit.libreoffice.org/74375
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/74444
Tested-by: Jenkins
This commit is contained in:
Jan Holesovsky
2019-06-21 13:00:21 +02:00
parent 21201ea752
commit 9712f5d231
+6 -4
View File
@@ -75,7 +75,8 @@ jboolean libreofficekit_initialize(JNIEnv* env,
const char *cacheDirPath;
const char *apkFilePath;
const char *fontsConf = "/etc/fonts/fonts.conf";
size_t data_dir_len;
const char fontsConf[] = "/etc/fonts/fonts.conf";
char *fontsConfPath;
setenv("OOO_DISABLE_RECOVERY", "1", 1);
@@ -93,9 +94,10 @@ jboolean libreofficekit_initialize(JNIEnv* env,
// TMPDIR is used by osl_getTempDirURL()
setenv("TMPDIR", cache_dir, 1);
fontsConfPath = malloc(strlen(data_dir) + sizeof(fontsConf));
strcpy(fontsConfPath, data_dir);
strcat(fontsConfPath, fontsConf);
data_dir_len = strlen(data_dir);
fontsConfPath = malloc(data_dir_len + sizeof(fontsConf));
strncpy(fontsConfPath, data_dir, data_dir_len);
strncpy(fontsConfPath + data_dir_len, fontsConf, sizeof(fontsConf));
fd = open(fontsConfPath, O_RDONLY);
if (fd != -1) {