diff options
author | Hiroshi Inoue <inoue@tpf.co.jp> | 2001-03-14 09:10:04 +0000 |
---|---|---|
committer | Hiroshi Inoue <inoue@tpf.co.jp> | 2001-03-14 09:10:04 +0000 |
commit | 08bf4d68de934c3e5db5b926fbfb8dfd1669281f (patch) | |
tree | 3e3bc03f4903a477d03717f56da9cbf6f89669aa /src | |
parent | ebffbb42ac0e1fe7800392876c980b63b388bfc0 (diff) | |
download | postgresql-08bf4d68de934c3e5db5b926fbfb8dfd1669281f.tar.gz postgresql-08bf4d68de934c3e5db5b926fbfb8dfd1669281f.zip |
Fix some memory leaks.
Diffstat (limited to 'src')
-rw-r--r-- | src/interfaces/odbc/environ.c | 1 | ||||
-rw-r--r-- | src/interfaces/odbc/socket.c | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/interfaces/odbc/environ.c b/src/interfaces/odbc/environ.c index 6099ba4d100..fb8ed6869ae 100644 --- a/src/interfaces/odbc/environ.c +++ b/src/interfaces/odbc/environ.c @@ -425,6 +425,7 @@ char rv = 1; if (conns[lf] && conns[lf]->henv == self) rv = rv && CC_Destructor(conns[lf]); } + free(self); mylog("exit EN_Destructor: rv = %d\n", rv); return rv; diff --git a/src/interfaces/odbc/socket.c b/src/interfaces/odbc/socket.c index 6b551792fe1..555f9bff4cc 100644 --- a/src/interfaces/odbc/socket.c +++ b/src/interfaces/odbc/socket.c @@ -58,11 +58,18 @@ SocketClass *rv; rv->buffer_in = (unsigned char *) malloc(globals.socket_buffersize); if ( ! rv->buffer_in) + { + free(rv); return NULL; + } rv->buffer_out = (unsigned char *) malloc(globals.socket_buffersize); if ( ! rv->buffer_out) + { + free(rv->buffer_in); + free(rv); return NULL; + } rv->errormsg = NULL; rv->errornumber = 0; |