From: Hans-Christoph Steiner Date: Fri, 15 Oct 2021 08:18:31 +0000 (+0200) Subject: On Android, get_data_directory() should not use LOCALSTATEDIR X-Git-Tag: tor-0.4.9.1-alpha~113^2~1^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ccdae2f753ea7125962f65fc50478753e40cc76b;p=thirdparty%2Ftor.git On Android, get_data_directory() should not use LOCALSTATEDIR closes https://gitlab.torproject.org/tpo/core/tor/-/issues/40487 --- diff --git a/src/app/config/config.c b/src/app/config/config.c index 8df5275cc6..3c3499696b 100644 --- a/src/app/config/config.c +++ b/src/app/config/config.c @@ -6883,6 +6883,15 @@ get_data_directory(const char *val) } else { return tor_strdup(get_windows_conf_root()); } +#elif defined(__ANDROID__) + /* Android apps can only use paths that are configured at runtime. + * /data/local/tmp is guaranteed to exist, but is only usable by the + * 'shell' and 'root' users, so this fallback is for debugging only. */ + if (val) { + return tor_strdup(val); + } else { + return tor_strdup("/data/local/tmp"); + } #else /* !defined(_WIN32) */ const char *d = val; if (!d)