]> granicus.if.org Git - postgis/commitdiff
Memory leak fix in pg_error
authorSandro Santilli <strk@keybit.net>
Fri, 17 Jun 2005 14:51:53 +0000 (14:51 +0000)
committerSandro Santilli <strk@keybit.net>
Fri, 17 Jun 2005 14:51:53 +0000 (14:51 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@1766 b70326c6-7e19-0410-871a-916f4a2858ee

CHANGES
lwgeom/lwgeom_pg.c

diff --git a/CHANGES b/CHANGES
index 804aa6472000d65de0fd3253749ad783c5cc28a5..a04aef8a5ab2779c11d582c6d53b7231eba4531c 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -14,6 +14,7 @@ PostGIS 1.1.0CVS
        - JTS support improvements
        - Fault tolerant btree ops
        - NEW -I (index) switch in shp2pgsql
+       - Memory Leak fix in pg_error
 
 PostGIS 1.0.1
 2005/05/24
index 9dca717329bf12d4c9ac16b842bb8ac45793cbef..02824c92efd48caa977e7cece0a09e9deed946f6 100644 (file)
@@ -50,23 +50,17 @@ pg_free(void *ptr)
 void
 pg_error(const char *fmt, ...)
 {
-       char *msg;
+#define ERRMSG_MAXLEN 256
+
+       char errmsg[ERRMSG_MAXLEN+1];
        va_list ap;
 
        va_start (ap, fmt);
+       vsnprintf (errmsg, ERRMSG_MAXLEN, fmt, ap);
+       va_end (ap);
 
-       /*
-        * This is a GNU extension.
-        * Dunno how to handle errors here.
-        */
-       if (!vasprintf (&msg, fmt, ap))
-       {
-               va_end (ap);
-               return;
-       }
-       elog(ERROR, "%s", msg);
-       va_end(ap);
-       free(msg);
+       errmsg[ERRMSG_MAXLEN]='\0';
+       elog(ERROR, "%s", errmsg);
 }
 
 void