str << "time={";
{
time_t time;
+ struct tm local;
unsigned short millisec;
+
audit_user_log_get_time(log, &time, &millisec);
- struct tm *local = localtime(&time);
+ localtime_r(&time, &local);
- str << local->tm_hour << ":" << local->tm_min << ":" << local->tm_sec
+ str << local.tm_hour << ":" << local.tm_min << ":" << local.tm_sec
<< "." << millisec;
}
str << "time={";
{
time_t time;
+ struct tm local;
unsigned short millisec;
+
audit_system_log_get_time(log, &time, &millisec);
- struct tm *local = localtime(&time);
+ localtime_r(&time, &local);
- str << local->tm_hour << ":" << local->tm_min << ":" << local->tm_sec
+ str << local.tm_hour << ":" << local.tm_min << ":" << local.tm_sec
<< "." << millisec;
}
audit_trail_h auditTrail;
audit_trail_create(&auditTrail);
+ if (auditTrail == nullptr) {
+ std::cerr << "Audit trail can't be usable" << std::endl;
+ return -1;
+ }
while (getline(tok, word, '|')) {
if (word == "user") {
audit_trail_h auditTrail;
audit_trail_create(&auditTrail);
+ if (auditTrail == nullptr) {
+ std::cerr << "Audit trail can't be usable" << std::endl;
+ return -1;
+ }
while (getline(tok, word, '|')) {
if (word == "user") {
int userCbId, systemCbId;
audit_trail_h auditTrail;
audit_trail_create(&auditTrail);
+ if (auditTrail == nullptr) {
+ std::cerr << "Audit trail can't be usable" << std::endl;
+ return -1;
+ }
audit_trail_add_user_log_cb(auditTrail, logCallback, (void*)LOG_TYPE_USER, &userCbId);
audit_trail_add_system_log_cb(auditTrail, logCallback, (void*)LOG_TYPE_SYSTEM, &systemCbId);
"dac-denied");
audit_trail_create(&auditTrail);
+ if (auditTrail == nullptr) {
+ std::cerr << "Audit trail can't be usable" << std::endl;
+ audit_rule_destroy(eaccessRule);
+ audit_rule_destroy(epermRule);
+ return -1;
+ }
+
audit_trail_add_rule(auditTrail, eaccessRule);
audit_trail_add_rule(auditTrail, epermRule);
audit_trail_destroy(auditTrail);
int count = 0;
audit_trail_create(&auditTrail);
+ if (auditTrail == nullptr) {
+ std::cerr << "Audit trail can't be usable" << std::endl;
+ return -1;
+ }
+
audit_trail_foreach_rule(auditTrail, foreachRule, &count);
audit_trail_destroy(auditTrail);
audit_trail_h auditTrail;
audit_trail_create(&auditTrail);
+ if (auditTrail == nullptr) {
+ std::cerr << "Audit trail can't be usable" << std::endl;
+ return -1;
+ }
+
audit_trail_foreach_rule(auditTrail, foreachRuleToRemove, auditTrail);
audit_trail_destroy(auditTrail);