]> git.ipfire.org Git - thirdparty/ulogd2.git/commitdiff
Ulogd2: fix db OUTPUT system
author/C=EU/ST=EU/CN=Patrick McHardy/emailAddress=kaber@trash.net </C=EU/ST=EU/CN=Patrick McHardy/emailAddress=kaber@trash.net>
Sat, 12 Jan 2008 14:55:41 +0000 (14:55 +0000)
committer/C=EU/ST=EU/CN=Patrick McHardy/emailAddress=kaber@trash.net </C=EU/ST=EU/CN=Patrick McHardy/emailAddress=kaber@trash.net>
Sat, 12 Jan 2008 14:55:41 +0000 (14:55 +0000)
The following patch fixes MySQL and Pgsql output modules.

The callback function was not correctly initialized and this was leading
to a crash by calling the a NULL function. This patch correctly inits
the callback.

Eric Leblond <eric@inl.fr>

util/db.c

index 13401aeaf22b9f80563e96eb8e8a4e8d8af3fba8..65d0f392fed2216dae4674e76793a950814674eb 100644 (file)
--- a/util/db.c
+++ b/util/db.c
@@ -114,6 +114,8 @@ static int sql_createstmt(struct ulogd_pluginstance *upi)
        return 0;
 }
 
+static int _init_db(struct ulogd_pluginstance *upi);
+
 int ulogd_db_configure(struct ulogd_pluginstance *upi,
                        struct ulogd_pluginstance_stack *stack)
 {
@@ -164,6 +166,8 @@ int ulogd_db_start(struct ulogd_pluginstance *upi)
        if (ret < 0)
                di->driver->close_db(upi);
 
+       di->interp = &_init_db;
+
        return ret;
 }
 
@@ -181,7 +185,6 @@ int ulogd_db_stop(struct ulogd_pluginstance *upi)
        return 0;
 }
 
-static int _init_db(struct ulogd_pluginstance *upi);
 
 static int _init_reconnect(struct ulogd_pluginstance *upi)
 {