QueryString handles null inputs
parent
9c2520dcf3
commit
da788a4860
|
@ -7,7 +7,7 @@
|
|||
*/
|
||||
QueryString::QueryString(const char* query) : n(0)
|
||||
{
|
||||
if (query[0] == '\0') return;
|
||||
if (query == nullptr || query[0] == '\0') return;
|
||||
|
||||
// create buffer
|
||||
buffer_length = urlenc::decoded_length(query) + 2;
|
||||
|
@ -116,6 +116,8 @@ size_t QueryString::str_count_fields(const char* query)
|
|||
|
||||
QueryString::~QueryString()
|
||||
{
|
||||
free(buffer);
|
||||
free(fields);
|
||||
if (n) {
|
||||
free(buffer);
|
||||
free(fields);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -91,3 +91,15 @@ TEST_CASE("str_count_fields", "[QueryString][str_count_fields]")
|
|||
CHECK(QueryString::str_count_fields("foo=bar&baz=qux") == 2);
|
||||
CHECK(QueryString::str_count_fields("foo&bar&foo&bar") == 4);
|
||||
}
|
||||
|
||||
TEST_CASE("empty string", "[QueryString][QueryString-empty]")
|
||||
{
|
||||
QueryString qs("");
|
||||
CHECK(qs.count() == 0);
|
||||
}
|
||||
|
||||
TEST_CASE("constructor with nullptr", "[QueryString-nullptr]")
|
||||
{
|
||||
QueryString qs(nullptr);
|
||||
CHECK(qs.count() == 0);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue