Blame audit-1.7.1-overflow.patch
|
Steve Grubb |
5676ba |
diff -urp audit-1.7/lib/audit_logging.c audit-1.7.1/lib/audit_logging.c
|
|
Steve Grubb |
5676ba |
--- audit-1.7/lib/audit_logging.c 2008-03-27 11:11:34.000000000 -0400
|
|
Steve Grubb |
5676ba |
+++ audit-1.7.1/lib/audit_logging.c 2008-04-01 11:55:41.000000000 -0400
|
|
Steve Grubb |
5676ba |
@@ -653,8 +653,10 @@ int audit_log_user_command(int audit_fd,
|
|
Steve Grubb |
5676ba |
}
|
|
Steve Grubb |
5676ba |
|
|
Steve Grubb |
5676ba |
p = cmd;
|
|
Steve Grubb |
5676ba |
- strncpy(commname, cmd, PATH_MAX);
|
|
Steve Grubb |
5676ba |
- commname[PATH_MAX] = 0;
|
|
Steve Grubb |
5676ba |
+ if (len >= PATH_MAX) {
|
|
Steve Grubb |
5676ba |
+ cmd[PATH_MAX] = 0;
|
|
Steve Grubb |
5676ba |
+ len = PATH_MAX-1;
|
|
Steve Grubb |
5676ba |
+ }
|
|
Steve Grubb |
5676ba |
while (*p) {
|
|
Steve Grubb |
5676ba |
if (*p == '"' || *p < 0x21 || (unsigned)*p > 0x7f) {
|
|
Steve Grubb |
5676ba |
_audit_c2x(commname, cmd, len);
|