summaryrefslogtreecommitdiffstats
path: root/src/xml/quote.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/xml/quote.cpp')
-rw-r--r--src/xml/quote.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/xml/quote.cpp b/src/xml/quote.cpp
index c9e001d05..02c12dfb0 100644
--- a/src/xml/quote.cpp
+++ b/src/xml/quote.cpp
@@ -23,13 +23,15 @@ size_t
xml_quoted_strlen(char const *val)
{
size_t ret = 0;
- for (; *val != '\0'; val++) {
- switch (*val) {
- case '"': ret += sizeof(""") - 1; break;
- case '&': ret += sizeof("&") - 1; break;
- case '<': ret += sizeof("&lt;") - 1; break;
- case '>': ret += sizeof("&gt;") - 1; break;
- default: ++ret; break;
+ if (val != NULL) {
+ for (; *val != '\0'; val++) {
+ switch (*val) {
+ case '"': ret += sizeof("&quot;") - 1; break;
+ case '&': ret += sizeof("&amp;") - 1; break;
+ case '<': ret += sizeof("&lt;") - 1; break;
+ case '>': ret += sizeof("&gt;") - 1; break;
+ default: ++ret; break;
+ }
}
}
return ret;