[vlc-commits] macosx: check type of preference entry before using
Marvin Scholz
git at videolan.org
Wed Mar 25 13:47:20 CET 2020
vlc | branch: master | Marvin Scholz <epirat07 at gmail.com> | Wed Mar 4 16:22:19 2020 +0100| [b39f2f1c524b44bb9f7a2526d68c9f7e338d9f65] | committer: Marvin Scholz
macosx: check type of preference entry before using
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b39f2f1c524b44bb9f7a2526d68c9f7e338d9f65
---
bin/darwinvlc.m | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/bin/darwinvlc.m b/bin/darwinvlc.m
index fbefc316a6..e8b56a08d1 100644
--- a/bin/darwinvlc.m
+++ b/bin/darwinvlc.m
@@ -226,21 +226,21 @@ int main(int i_argc, const char *ppsz_argv[])
argv[argc++] = "--no-ignore-config";
argv[argc++] = "--media-library";
- /* overwrite system language on Mac */
- char *lang = NULL;
-
- CFStringRef language;
- language = (CFStringRef)CFPreferencesCopyAppValue(CFSTR("language"),
- kCFPreferencesCurrentApplication);
- if (language) {
- lang = FromCFString(language, kCFStringEncodingUTF8);
- if (strncmp( lang, "auto", 4 )) {
- char tmp[11];
- snprintf(tmp, 11, "LANG=%s", lang);
- putenv(tmp);
+ /* Overwrite system language */
+ CFPropertyListRef lang_pref = CFPreferencesCopyAppValue(CFSTR("language"),
+ kCFPreferencesCurrentApplication);
+
+ if (lang_pref) {
+ if (CFGetTypeID(lang_pref) == CFStringGetTypeID()) {
+ char *lang = FromCFString(lang_pref, kCFStringEncodingUTF8);
+ if (strncmp(lang, "auto", 4)) {
+ char tmp[11];
+ snprintf(tmp, 11, "LANG=%s", lang);
+ putenv(tmp);
+ }
+ free(lang);
}
- free(lang);
- CFRelease(language);
+ CFRelease(lang_pref);
}
ppsz_argv++; i_argc--; /* skip executable path */
More information about the vlc-commits
mailing list