From: Paul Ramsey <pramsey@cleverelephant.ca> Date: Thu, 14 Sep 2017 13:56:57 +0000 (+0000) Subject: #3847, coverity fixes in topology and address standardizer X-Git-Tag: 2.4.0rc2~58 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e2cd01f45adabbb0d6011b4e88d990eafa57e428;p=postgis #3847, coverity fixes in topology and address standardizer git-svn-id: http://svn.osgeo.org/postgis/trunk@15723 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/extensions/address_standardizer/gamma.c b/extensions/address_standardizer/gamma.c index 66e26dd8e..dcb16f7d0 100644 --- a/extensions/address_standardizer/gamma.c +++ b/extensions/address_standardizer/gamma.c @@ -152,6 +152,18 @@ RULES *rules_init( ERR_PARAM *err_p ) { if ( !initialize_link( err_p , o_l , EPSILON ) ) { + + /* Cleanup allocated resources */ + FREE_AND_NULL(o_l); + FREE_AND_NULL(k_s); + FREE_AND_NULL(r_p); + + PAGC_DESTROY_2D_ARRAY(rules -> Trie,NODE,MAXINSYM); + rules -> Trie = NULL; + + rules_free(rules); + FREE_AND_NULL(rules); + return NULL ; } diff --git a/topology/postgis_topology.c b/topology/postgis_topology.c index a1481c051..5ec7cfab3 100644 --- a/topology/postgis_topology.c +++ b/topology/postgis_topology.c @@ -170,21 +170,19 @@ cb_loadTopologyByName(const LWT_BE_DATA* be, const char *name) static SPIPlanPtr plan = NULL; // prepare - if ( ! plan ) { - sql = "SELECT id,srid,precision,null::geometry" - " FROM topology.topology " - "WHERE name = $1::varchar"; - argtypes[0] = CSTRINGOID; - plan = SPI_prepare(sql, 1, argtypes); - if ( ! plan ) - { - cberror(be, "unexpected return (%d) from query preparation: %s", - SPI_result, sql); - return NULL; - } - SPI_keepplan(plan); - // SPI_freeplan to free, eventually + sql = "SELECT id,srid,precision,null::geometry" + " FROM topology.topology " + "WHERE name = $1::varchar"; + argtypes[0] = CSTRINGOID; + plan = SPI_prepare(sql, 1, argtypes); + if ( ! plan ) + { + cberror(be, "unexpected return (%d) from query preparation: %s", + SPI_result, sql); + return NULL; } + SPI_keepplan(plan); + // SPI_freeplan to free, eventually // execute values[0] = CStringGetDatum(name);