Additional Fix: wrong assertion (name validation)
Change-Id: I79fa2bc27f8a8406f067bc7e4299bdc422c79b37
int i = 0;
ldp_xml_parser::MatchItemSR matcher(interface, member, path, static_cast<ldp_xml_parser::MessageType>(type), ldp_xml_parser::MessageDirection::SEND);
if (destination)
- while (destination[i++]) {
- matcher.addName(destination[i]);
+ while (destination[i]) {
+ matcher.addName(destination[i++]);
}
return static_cast<int>(policy_checker.check(bus_type, user, group, label, matcher, ldp_xml_parser::ItemType::SEND));
}
#include "policy.hpp"
#include "naive_policy_db.hpp"
+#include "tslog.hpp"
#include <cstdlib>
#include <sys/types.h>
#include <grp.h>
int j = 0;
if (name) {
- assert((name[i] > 'a'&& name[i] < 'z') || (name[i] > 'A'&& name[i] < 'Z') || (name[i] > '0'&& name[i] < '9'));
while (name[i] && names_num < KDBUS_CONN_MAX_NAMES + 1) {
char c;
int len;
j = i;
+ if (tslog::verbose() && !(name[i] >= 'a'&& name[i] <= 'z') || (name[i] >= 'A'&& name[i] <= 'Z') || (name[i] >= '0'&& name[i] <= '9') || name[i] == ' ') {
+ std::cout<<"Wrong name("<<i<<"): "<<name<<std::endl;
+ }
while ((c = name[i++]) && ' ' != c);
if (!c) {
--i;