Fix unit test utility to get it working with t:removeNulls

This commit is contained in:
Felipe Zimmerle 2015-10-21 16:05:07 -03:00
parent 17faef565e
commit 3d2ec2a3f5
2 changed files with 8 additions and 8 deletions

View File

@ -26,7 +26,7 @@
#include "modsecurity/assay.h" #include "modsecurity/assay.h"
#include "actions/transformations/transformation.h" #include "actions/transformations/transformation.h"
#include "src/utils.h"
namespace ModSecurity { namespace ModSecurity {
namespace actions { namespace actions {
@ -37,17 +37,16 @@ std::string RemoveNulls::evaluate(std::string value,
Assay *assay) { Assay *assay) {
int64_t i; int64_t i;
std::string ret;
i = 0; i = 0;
while (i < value.size()) { while (i < value.size()) {
if (value.at(i) != '\0') { if (value.at(i) == '\0') {
ret += value.at(i); value.erase(i, 1);
} else {
i++;
} }
i++;
} }
return ret; return value;
} }

View File

@ -93,7 +93,7 @@ UnitTest *UnitTest::from_yajl_node(yajl_val &node) {
u->param = YAJL_GET_STRING(val); u->param = YAJL_GET_STRING(val);
} else if (strcmp(key, "input") == 0) { } else if (strcmp(key, "input") == 0) {
u->input = YAJL_GET_STRING(val); u->input = YAJL_GET_STRING(val);
replaceAll(&(u->input), "\\0", '\u0000'); replaceAll(&(u->input), "\\0", '\0');
replaceAll(&(u->input), "\\xe4", '\xe4'); replaceAll(&(u->input), "\\xe4", '\xe4');
replaceAll(&(u->input), "\\x03", '\x03'); replaceAll(&(u->input), "\\x03", '\x03');
replaceAll(&(u->input), "\\xbf", '\xbf'); replaceAll(&(u->input), "\\xbf", '\xbf');
@ -110,6 +110,7 @@ UnitTest *UnitTest::from_yajl_node(yajl_val &node) {
} else if (strcmp(key, "output") == 0) { } else if (strcmp(key, "output") == 0) {
u->output = YAJL_GET_STRING(val); u->output = YAJL_GET_STRING(val);
replaceAll(&(u->output), "\\u0000", '\u0000'); replaceAll(&(u->output), "\\u0000", '\u0000');
replaceAll(&(u->output), "\\0", '\u0000');
} }
} }