36 lines
893 B
Diff
36 lines
893 B
Diff
diff --git a/src/auditctl.c b/src/auditctl.c
|
|
index ac08e47..1150911 100644
|
|
--- a/src/auditctl.c
|
|
+++ b/src/auditctl.c
|
|
@@ -809,6 +809,7 @@ static int setopt(int count, int lineno, char *vars[])
|
|
retval = -1;
|
|
} else {
|
|
const char*s = optarg;
|
|
+ char *umsg;
|
|
while (*s) {
|
|
if (*s < 32) {
|
|
audit_msg(LOG_ERR,
|
|
@@ -817,11 +818,18 @@ static int setopt(int count, int lineno, char *vars[])
|
|
}
|
|
s++;
|
|
}
|
|
+ if (asprintf(&umsg, "text=%s", optarg) < 0) {
|
|
+ audit_msg(LOG_ERR, "Can't create user event");
|
|
+ return -1;
|
|
+ }
|
|
if (audit_log_user_message( fd, AUDIT_USER,
|
|
- optarg, NULL, NULL, NULL, 1) <= 0)
|
|
- retval = -1;
|
|
- else
|
|
- return -2; // success - no reply for this
|
|
+ umsg, NULL, NULL, NULL, 1) <= 0)
|
|
+ retval = -1;
|
|
+ else {
|
|
+ free(umsg);
|
|
+ return -2; // success - no reply for this
|
|
+ }
|
|
+ free(umsg);
|
|
}
|
|
break;
|
|
case 'R':
|