diff options
-rw-r--r-- | xbmc/network/WebServer.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/xbmc/network/WebServer.cpp b/xbmc/network/WebServer.cpp index 82625e19b5..9fa969c698 100644 --- a/xbmc/network/WebServer.cpp +++ b/xbmc/network/WebServer.cpp @@ -75,15 +75,21 @@ CWebServer::CWebServer() int CWebServer::FillArgumentMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value) { + if (cls == NULL || key == NULL) + return MHD_NO; + map<string, string> *arguments = (map<string, string> *)cls; - arguments->insert(pair<string,string>(key,value)); + arguments->insert(pair<string, string>(key, value != NULL ? value : StringUtils::Empty)); return MHD_YES; } int CWebServer::FillArgumentMultiMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value) { + if (cls == NULL || key == NULL) + return MHD_NO; + multimap<string, string> *arguments = (multimap<string, string> *)cls; - arguments->insert(pair<string,string>(key,value)); + arguments->insert(pair<string, string>(key, value != NULL ? value : StringUtils::Empty)); return MHD_YES; } |