12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- From 45f501e1be2db6b017cc242c79bfb9de32b332a1 Mon Sep 17 00:00:00 2001
- From: Florian Weimer <fweimer@redhat.com>
- Date: Mon, 29 Jan 2024 08:27:29 +0100
- Subject: [PATCH] PostgreSQL driver: Fix incompatible pointer-to-integer types
- These result in out-of-bounds stack writes on 64-bit architectures
- (caller has 4 bytes, callee writes 8 bytes), and seem to have gone
- unnoticed on little-endian architectures (although big-endian
- architectures must be broken).
- This change is required to avoid a build failure with GCC 14.
- Upstream: https://github.com/lurcher/unixODBC/commit/45f501e1be2db6b017cc242c79bfb9de32b332a1
- Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
- ---
- Drivers/Postgre7.1/info.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
- diff --git a/Drivers/Postgre7.1/info.c b/Drivers/Postgre7.1/info.c
- index 63ac91f..2216ecd 100644
- --- a/Drivers/Postgre7.1/info.c
- +++ b/Drivers/Postgre7.1/info.c
- @@ -1779,14 +1779,14 @@ char *table_name;
- char index_name[MAX_INFO_STRING];
- short fields_vector[8];
- char isunique[10], isclustered[10];
- -SDWORD index_name_len, fields_vector_len;
- +SQLLEN index_name_len, fields_vector_len;
- TupleNode *row;
- int i;
- HSTMT hcol_stmt;
- StatementClass *col_stmt, *indx_stmt;
- char column_name[MAX_INFO_STRING], relhasrules[MAX_INFO_STRING];
- char **column_names = 0;
- -Int4 column_name_len;
- +SQLLEN column_name_len;
- int total_columns = 0;
- char error = TRUE;
- ConnInfo *ci;
- @@ -2136,7 +2136,7 @@ HSTMT htbl_stmt;
- StatementClass *tbl_stmt;
- char tables_query[STD_STATEMENT_LEN];
- char attname[MAX_INFO_STRING];
- -SDWORD attname_len;
- +SQLLEN attname_len;
- char pktab[MAX_TABLE_LEN + 1];
- Int2 result_cols;
-
|