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;
 
