mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-04 08:24:42 +01:00
Merge utils: catch TypeError exception for binary logs
When a log like system.journal is passed on to aa-genprof, for example, the user receives a TypeError exception: in method 'parse_record', argument 1 of type 'char *' This patch catches that exception and displays a more meaningful message. Fixes: https://gitlab.com/apparmor/apparmor/-/issues/436 Signed-off-by: Georgia Garcia <georgia.garcia@canonical.com> Closes #436 MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/1354 Approved-by: Christian Boltz <apparmor@cboltz.de> Merged-by: John Johansen <john@jjmx.net>
This commit is contained in:
commit
cb0f84e101
1 changed files with 6 additions and 1 deletions
|
@ -18,6 +18,7 @@ import sys
|
|||
import time
|
||||
|
||||
import LibAppArmor
|
||||
import apparmor.ui as aaui
|
||||
from apparmor.common import AppArmorBug, AppArmorException, DebugLogger, hasher, open_file_read, split_name
|
||||
from apparmor.rule.capability import CapabilityRule
|
||||
from apparmor.rule.change_profile import ChangeProfileRule
|
||||
|
@ -274,7 +275,11 @@ class ReadLog:
|
|||
"""Parse the event from log into key value pairs"""
|
||||
msg = msg.strip()
|
||||
self.debug_logger.info('parse_event: %s', msg)
|
||||
event = LibAppArmor.parse_record(msg)
|
||||
try:
|
||||
event = LibAppArmor.parse_record(msg)
|
||||
except TypeError:
|
||||
aaui.UI_Important(_("WARNING: Cannot process log message, skipping entry. Make sure log is plaintext."))
|
||||
return None
|
||||
|
||||
ev = self.parse_record(event)
|
||||
LibAppArmor.free_record(event)
|
||||
|
|
Loading…
Add table
Reference in a new issue