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 54