From: Jeremy Sowden Date: Mon, 21 Aug 2023 19:42:36 +0000 (+0100) Subject: sqlite3: insert ipv6 addresses as null rather than garbage X-Git-Tag: ulogd-2.0.9~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=083d56967d3940a3a29d11c881d1b78e6033c24f;p=thirdparty%2Fulogd2.git sqlite3: insert ipv6 addresses as null rather than garbage Currently, the plug-in assumes that all IP addresses are 32-bit ipv4 addresses, so ipv6 addresses get truncated and inserted as garbage. Insert nulls instead. Signed-off-by: Jeremy Sowden Signed-off-by: Florian Westphal --- diff --git a/output/sqlite3/ulogd_output_SQLITE3.c b/output/sqlite3/ulogd_output_SQLITE3.c index 3a82389..6aeb7a3 100644 --- a/output/sqlite3/ulogd_output_SQLITE3.c +++ b/output/sqlite3/ulogd_output_SQLITE3.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -178,7 +179,11 @@ sqlite3_interp(struct ulogd_pluginstance *pi) break; case ULOGD_RET_IPADDR: - ret = sqlite3_bind_int(priv->p_stmt, i, k_ret->u.value.ui32); + if (k_ret->len == sizeof(struct in_addr)) + ret = sqlite3_bind_int(priv->p_stmt, i, + k_ret->u.value.ui32); + else + ret = sqlite3_bind_null(priv->p_stmt, i); break; case ULOGD_RET_UINT64: