summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/unixodbc
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-support/unixodbc')
-rw-r--r--meta-oe/recipes-support/unixodbc/files/CVE-2024-1013.patch53
-rw-r--r--meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb4
2 files changed, 56 insertions, 1 deletions
diff --git a/meta-oe/recipes-support/unixodbc/files/CVE-2024-1013.patch b/meta-oe/recipes-support/unixodbc/files/CVE-2024-1013.patch
new file mode 100644
index 0000000000..6884465452
--- /dev/null
+++ b/meta-oe/recipes-support/unixodbc/files/CVE-2024-1013.patch
@@ -0,0 +1,53 @@
1From 76beb0938ef14276123996bfd99df23b0c7f0982 Mon Sep 17 00:00:00 2001
2From: Soumya Sambu <soumya.sambu@windriver.com>
3Date: Fri, 7 Jun 2024 11:10:46 +0000
4Subject: [PATCH] PostgreSQL driver: Fix incompatible pointer-to-integer types
5
6These result in out-of-bounds stack writes on 64-bit architectures
7(caller has 4 bytes, callee writes 8 bytes), and seem to have gone
8unnoticed on little-endian architectures (although big-endian
9architectures must be broken).
10
11This change is required to avoid a build failure with GCC 14.
12
13CVE: CVE-2024-1013
14
15Upstream-Status: Backport [https://github.com/lurcher/unixODBC/commit/45f501e1be2db6b017cc242c79bfb9de32b332a1]
16
17Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
18---
19 Drivers/Postgre7.1/info.c | 6 +++---
20 1 file changed, 3 insertions(+), 3 deletions(-)
21
22diff --git a/Drivers/Postgre7.1/info.c b/Drivers/Postgre7.1/info.c
23index 63ac91f..2216ecd 100644
24--- a/Drivers/Postgre7.1/info.c
25+++ b/Drivers/Postgre7.1/info.c
26@@ -1779,14 +1779,14 @@ char *table_name;
27 char index_name[MAX_INFO_STRING];
28 short fields_vector[8];
29 char isunique[10], isclustered[10];
30-SDWORD index_name_len, fields_vector_len;
31+SQLLEN index_name_len, fields_vector_len;
32 TupleNode *row;
33 int i;
34 HSTMT hcol_stmt;
35 StatementClass *col_stmt, *indx_stmt;
36 char column_name[MAX_INFO_STRING], relhasrules[MAX_INFO_STRING];
37 char **column_names = 0;
38-Int4 column_name_len;
39+SQLLEN column_name_len;
40 int total_columns = 0;
41 char error = TRUE;
42 ConnInfo *ci;
43@@ -2136,7 +2136,7 @@ HSTMT htbl_stmt;
44 StatementClass *tbl_stmt;
45 char tables_query[STD_STATEMENT_LEN];
46 char attname[MAX_INFO_STRING];
47-SDWORD attname_len;
48+SQLLEN attname_len;
49 char pktab[MAX_TABLE_LEN + 1];
50 Int2 result_cols;
51
52--
532.40.0
diff --git a/meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb b/meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb
index 7819387c39..389c3be903 100644
--- a/meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb
+++ b/meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb
@@ -11,14 +11,16 @@ DEPENDS = "libtool readline"
11SRC_URI = "https://www.unixodbc.org/unixODBC-${PV}.tar.gz \ 11SRC_URI = "https://www.unixodbc.org/unixODBC-${PV}.tar.gz \
12 file://do-not-use-libltdl-source-directory.patch \ 12 file://do-not-use-libltdl-source-directory.patch \
13 file://0001-exe-Makefile.am-add-CROSS_LAUNCHER-to-run-odbc_confi.patch \ 13 file://0001-exe-Makefile.am-add-CROSS_LAUNCHER-to-run-odbc_confi.patch \
14 file://CVE-2024-1013.patch \
14" 15"
15SRC_URI[sha256sum] = "f210501445ce21bf607ba51ef8c125e10e22dffdffec377646462df5f01915ec" 16SRC_URI[sha256sum] = "f210501445ce21bf607ba51ef8c125e10e22dffdffec377646462df5f01915ec"
16 17
18UPSTREAM_CHECK_URI = "https://www.unixodbc.org/download.html"
17UPSTREAM_CHECK_REGEX = "unixODBC-(?P<pver>\d+(\.\d+)+)\.tar" 19UPSTREAM_CHECK_REGEX = "unixODBC-(?P<pver>\d+(\.\d+)+)\.tar"
18 20
19inherit autotools-brokensep multilib_header qemu 21inherit autotools-brokensep multilib_header qemu
20 22
21S = "${WORKDIR}/unixODBC-${PV}" 23S = "${UNPACKDIR}/unixODBC-${PV}"
22 24
23EXTRA_OEMAKE += "LIBS=-lltdl" 25EXTRA_OEMAKE += "LIBS=-lltdl"
24EXTRA_OECONF += "--enable-utf8ini" 26EXTRA_OECONF += "--enable-utf8ini"