diff options
Diffstat (limited to 'meta-oe/recipes-support/unixodbc')
-rw-r--r-- | meta-oe/recipes-support/unixodbc/files/CVE-2024-1013.patch | 53 | ||||
-rw-r--r-- | meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb | 4 |
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 @@ | |||
1 | From 76beb0938ef14276123996bfd99df23b0c7f0982 Mon Sep 17 00:00:00 2001 | ||
2 | From: Soumya Sambu <soumya.sambu@windriver.com> | ||
3 | Date: Fri, 7 Jun 2024 11:10:46 +0000 | ||
4 | Subject: [PATCH] PostgreSQL driver: Fix incompatible pointer-to-integer types | ||
5 | |||
6 | These 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 | ||
8 | unnoticed on little-endian architectures (although big-endian | ||
9 | architectures must be broken). | ||
10 | |||
11 | This change is required to avoid a build failure with GCC 14. | ||
12 | |||
13 | CVE: CVE-2024-1013 | ||
14 | |||
15 | Upstream-Status: Backport [https://github.com/lurcher/unixODBC/commit/45f501e1be2db6b017cc242c79bfb9de32b332a1] | ||
16 | |||
17 | Signed-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 | |||
22 | diff --git a/Drivers/Postgre7.1/info.c b/Drivers/Postgre7.1/info.c | ||
23 | index 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 | -- | ||
53 | 2.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" | |||
11 | SRC_URI = "https://www.unixodbc.org/unixODBC-${PV}.tar.gz \ | 11 | SRC_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 | " |
15 | SRC_URI[sha256sum] = "f210501445ce21bf607ba51ef8c125e10e22dffdffec377646462df5f01915ec" | 16 | SRC_URI[sha256sum] = "f210501445ce21bf607ba51ef8c125e10e22dffdffec377646462df5f01915ec" |
16 | 17 | ||
18 | UPSTREAM_CHECK_URI = "https://www.unixodbc.org/download.html" | ||
17 | UPSTREAM_CHECK_REGEX = "unixODBC-(?P<pver>\d+(\.\d+)+)\.tar" | 19 | UPSTREAM_CHECK_REGEX = "unixODBC-(?P<pver>\d+(\.\d+)+)\.tar" |
18 | 20 | ||
19 | inherit autotools-brokensep multilib_header qemu | 21 | inherit autotools-brokensep multilib_header qemu |
20 | 22 | ||
21 | S = "${WORKDIR}/unixODBC-${PV}" | 23 | S = "${UNPACKDIR}/unixODBC-${PV}" |
22 | 24 | ||
23 | EXTRA_OEMAKE += "LIBS=-lltdl" | 25 | EXTRA_OEMAKE += "LIBS=-lltdl" |
24 | EXTRA_OECONF += "--enable-utf8ini" | 26 | EXTRA_OECONF += "--enable-utf8ini" |