summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2019-06-19 20:29:02 +0200
committerMichael Meeks <michael.meeks@collabora.com>2019-06-19 22:20:25 +0200
commit8756beb31ce7cf5c2e54963c6c29594c47de26b9 (patch)
tree60d7161711bfc7b7133d7f92d9bf68bc78a4648a
parent347e273a685097a0d3d00b782bf8989d9582d224 (diff)
android: Fix type of a C string to be const char[].cp-android-19
With the wrong type, we were measusing 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>
-rw-r--r--sal/android/libreofficekit-jni.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sal/android/libreofficekit-jni.c b/sal/android/libreofficekit-jni.c
index 0f66fdc44fe0..1307ab6a5fbb 100644
--- a/sal/android/libreofficekit-jni.c
+++ b/sal/android/libreofficekit-jni.c
@@ -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) {