From 047a2cecfffc2d6ecb3ed0cacf685eed0d3540b5 Mon Sep 17 00:00:00 2001
From: Michael Meskes <meskes@postgresql.org>
Date: Mon, 29 Mar 2004 15:11:58 +0000
Subject: [PATCH] Fixed possible segfault in type.c (by Juergen Cappel)

---
 src/interfaces/ecpg/ChangeLog      | 4 ++++
 src/interfaces/ecpg/preproc/type.c | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog
index 44cdbc14188..fca249cd7a4 100644
--- a/src/interfaces/ecpg/ChangeLog
+++ b/src/interfaces/ecpg/ChangeLog
@@ -1765,6 +1765,10 @@ Sun Mar 14 12:59:15 CET 2004
 	- Fixed Informix compat math functions to cope with the situations
 	  where one argument takes the result.
 	- Applied thread patches by Lee Kindness
+	
+Mon Mar 29 17:02:52 CEST 2004
+
+	- Fixed possible segfault in type.c (by Juergen Cappel)
 	- Set pgtypes library version to 1.2.
 	- Set ecpg version to 3.2.0.
 	- Set compat library version to 1.2.
diff --git a/src/interfaces/ecpg/preproc/type.c b/src/interfaces/ecpg/preproc/type.c
index e7682298b89..70db72ebab2 100644
--- a/src/interfaces/ecpg/preproc/type.c
+++ b/src/interfaces/ecpg/preproc/type.c
@@ -321,7 +321,7 @@ ECPGdump_a_simple(FILE *o, const char *name, enum ECPGttype type,
 	else
 	{
 		char	   *variable = (char *) mm_alloc(strlen(name) + ((prefix == NULL) ? 0 : strlen(prefix)) + 4);
-		char	   *offset = (char *) mm_alloc(strlen(name) + strlen("sizeof(struct varchar_)") + 1);
+		char	   *offset = (char *) mm_alloc(strlen(name) + strlen("sizeof(struct varchar_)") + 1 + strlen(varcharsize));
 
 		switch (type)
 		{
-- 
GitLab