From 67dab746e3cc31753963bae4678323cdbf4036e8 Mon Sep 17 00:00:00 2001 From: Ben Burwell Date: Mon, 21 Apr 2025 11:35:03 -0400 Subject: [PATCH 1/4] Fix memory leak in build_param_array Previously, paramLengths was not being freed during normal operation, only when we returned early due to an error. --- generic/pgtclCmds.c | 1 + 1 file changed, 1 insertion(+) diff --git a/generic/pgtclCmds.c b/generic/pgtclCmds.c index db874f2..43708de 100644 --- a/generic/pgtclCmds.c +++ b/generic/pgtclCmds.c @@ -629,6 +629,7 @@ int build_param_array(Tcl_Interp *interp, int nParams, Tcl_Obj *CONST objv[], co } *paramValuesPtr = paramValues; + ckfree(paramLengths); return TCL_OK; } From a3384f91b8cea9fcf828dc9cf67c498442ed425a Mon Sep 17 00:00:00 2001 From: Ben Burwell Date: Mon, 21 Apr 2025 14:27:45 -0400 Subject: [PATCH 2/4] Bump version number to 3.1.1 --- configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.in b/configure.in index a61ecd0..8dbf92d 100755 --- a/configure.in +++ b/configure.in @@ -19,7 +19,7 @@ dnl to configure the system for the local environment. # so you can encode the package version directly into the source files. #----------------------------------------------------------------------- -AC_INIT([pgtcl], [3.1.0]) +AC_INIT([pgtcl], [3.1.1]) #----- # Version with patch stripped From 29ebf8b5dec2fe727904a094776650e21f5d3fa4 Mon Sep 17 00:00:00 2001 From: Ben Burwell Date: Mon, 21 Apr 2025 15:01:35 -0400 Subject: [PATCH 3/4] Use tcl-tk@8 for macOS CI --- .github/workflows/mac-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/mac-ci.yml b/.github/workflows/mac-ci.yml index 72cb6c3..c9101dd 100644 --- a/.github/workflows/mac-ci.yml +++ b/.github/workflows/mac-ci.yml @@ -16,12 +16,12 @@ jobs: - name: Install dependencies run: | brew update - brew install tcl-tk autoconf libpq + brew install tcl-tk@8 autoconf libpq - name: configure run: | autoreconf -vi export PG_CONFIG=/opt/homebrew/opt/libpq/bin/pg_config - ./configure --with-tcl=/opt/homebrew/opt/tcl-tk/lib/ --prefix=/usr/local + ./configure --with-tcl=/opt/homebrew/opt/tcl-tk@8/lib/ --prefix=/usr/local - name: make run: make - name: install From d8fd25618b9c52ff7c8a1e5cbe9a1c3bf6d57f77 Mon Sep 17 00:00:00 2001 From: Ben Burwell Date: Tue, 22 Apr 2025 10:26:18 -0400 Subject: [PATCH 4/4] Fix an additional memory leak in expand_parameters --- generic/pgtclCmds.c | 1 + 1 file changed, 1 insertion(+) diff --git a/generic/pgtclCmds.c b/generic/pgtclCmds.c index 43708de..de75300 100644 --- a/generic/pgtclCmds.c +++ b/generic/pgtclCmds.c @@ -2928,6 +2928,7 @@ static int expand_parameters(Tcl_Interp *interp, const char *queryString, int nP // Normal return, push parameters and return OK. *paramValuesPtr = paramValues; *newQueryStringPtr = newQueryString; + ckfree(paramLengths); return TCL_OK; error_return: