summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Winship <danw@redhat.com>2015-08-07 16:43:11 -0400
committerDan Winship <danw@redhat.com>2015-08-07 16:46:33 -0400
commit578e5e53c0882717a76d4d5496364b087999c234 (patch)
tree94aaad4bd6bed5a752b2c215e546d5d15219d688
parent0db81e10145a55e0e17af28baeba91e5167aac12 (diff)
downloadNetworkManager-578e5e53c0882717a76d4d5496364b087999c234.tar.gz
core: fix runtime warning when building without libaudit
If !HAVE_LIBAUDIT then sizeof(NMAuditManagerPrivate) was 0, which upset g_type_class_add_private(). (It's also not valid C.) Fix things up so that NMAuditManagerPrivate as a whole only exists if HAVE_LIBAUDIT.
-rw-r--r--src/nm-audit-manager.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/nm-audit-manager.c b/src/nm-audit-manager.c
index bc870128b7..eb9bed171b 100644
--- a/src/nm-audit-manager.c
+++ b/src/nm-audit-manager.c
@@ -50,14 +50,14 @@ typedef struct {
AuditBackend backends;
} AuditField;
-typedef struct {
#if HAVE_LIBAUDIT
+typedef struct {
NMConfig *config;
int auditd_fd;
-#endif
} NMAuditManagerPrivate;
#define NM_AUDIT_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_AUDIT_MANAGER, NMAuditManagerPrivate))
+#endif
G_DEFINE_TYPE (NMAuditManager, nm_audit_manager, G_TYPE_OBJECT)
@@ -136,13 +136,16 @@ static void
nm_audit_log (NMAuditManager *self, GPtrArray *fields, const char *file,
guint line, const char *func, gboolean success)
{
+#if HAVE_LIBAUDIT
NMAuditManagerPrivate *priv;
+#endif
char *msg;
g_return_if_fail (NM_IS_AUDIT_MANAGER (self));
- priv = NM_AUDIT_MANAGER_GET_PRIVATE (self);
#if HAVE_LIBAUDIT
+ priv = NM_AUDIT_MANAGER_GET_PRIVATE (self);
+
if (priv->auditd_fd >= 0) {
msg = build_message (fields, BACKEND_AUDITD);
audit_log_user_message (priv->auditd_fd, AUDIT_USYS_CONFIG, msg,
@@ -364,7 +367,9 @@ nm_audit_manager_class_init (NMAuditManagerClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
+#if HAVE_LIBAUDIT
g_type_class_add_private (klass, sizeof (NMAuditManagerPrivate));
+#endif
/* virtual methods */
object_class->dispose = dispose;