From: Wilfried Göesgens Date: Sun, 18 Jan 2009 16:55:06 +0000 (+0000) Subject: ! fix crash in X-Preferences API; return NULL if not found. X-Git-Tag: v7.86~1600 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=ff1546b3a8d13e34982003561b8f26519b83524f ! fix crash in X-Preferences API; return NULL if not found. --- 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)