From ff1546b3a8d13e34982003561b8f26519b83524f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Wilfried=20G=C3=B6esgens?= Date: Sun, 18 Jan 2009 16:55:06 +0000 Subject: [PATCH] ! fix crash in X-Preferences API; return NULL if not found. --- webcit/preferences.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/webcit/preferences.c b/webcit/preferences.c index e56100900..fae98f03a 100644 --- a/webcit/preferences.c +++ b/webcit/preferences.c @@ -512,6 +512,7 @@ int get_room_prefs_backend(const char *key, size_t keylen, const StrBuf *get_X_PREFS(const char *key, size_t keylen, const char *xkey, size_t xkeylen) { + int ret; StrBuf *pref_name; Preference *Prf; @@ -520,10 +521,12 @@ const StrBuf *get_X_PREFS(const char *key, size_t keylen, StrBufAppendBufPlain(pref_name, HKEY(":"), 0); StrBufAppendBufPlain(pref_name, key, keylen, 0); - get_pref_backend(SKEY(pref_name), &Prf); + ret = get_pref_backend(SKEY(pref_name), &Prf); FreeStrBuf(&pref_name); - return Prf->Val; + if (ret) + return Prf->Val; + else return NULL; } void set_X_PREFS(const char *key, size_t keylen, const char *xkey, size_t xkeylen, StrBuf *value, int save_to_server) -- 2.30.2