From 771ec67a7691b5732b4915c6bbaefe9b21f35362 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Sun, 31 Jan 2010 15:28:50 -0500 Subject: A litter more cautious about NULL applications; plug a memory leak in some Postgres functions --- src/c/urweb.c | 2 +- src/postgres.sml | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/c/urweb.c b/src/c/urweb.c index 0ec741cc..ad0d33d9 100644 --- a/src/c/urweb.c +++ b/src/c/urweb.c @@ -2884,7 +2884,7 @@ int uw_rollback(uw_context ctx) { if (ctx->transactionals[i].free) ctx->transactionals[i].free(ctx->transactionals[i].data); - return ctx->app->db_rollback(ctx); + return ctx->app ? ctx->app->db_rollback(ctx) : 0; } void uw_commit(uw_context ctx) { diff --git a/src/postgres.sml b/src/postgres.sml index 59fa3330..a3f33db1 100644 --- a/src/postgres.sml +++ b/src/postgres.sml @@ -411,6 +411,8 @@ fun init {dbstring, prepared = ss, tables, views, sequences} = newline], string "}", newline, + string "PQclear(res);", + newline, string "return 0;", newline, string "}", @@ -434,6 +436,8 @@ fun init {dbstring, prepared = ss, tables, views, sequences} = newline], string "}", newline, + string "PQclear(res);", + newline, string "return 0;", newline, string "}", @@ -457,6 +461,8 @@ fun init {dbstring, prepared = ss, tables, views, sequences} = newline], string "}", newline, + string "PQclear(res);", + newline, string "return 0;", newline, string "}", -- cgit v1.2.3