diff options
author | unknown <Olivier@UBUVIR> | 2013-03-02 00:09:15 +0100 |
---|---|---|
committer | unknown <Olivier@UBUVIR> | 2013-03-02 00:09:15 +0100 |
commit | 073b0e77310cc63ba7594d41df46fb6e2cd5ea2c (patch) | |
tree | 70f94b2c6a2fdf425fd5f708bc59aacbfa3e835c /storage/connect/myconn.cpp | |
parent | 63798ef4a51c711cd750674fe853ac2fd51a0e96 (diff) | |
download | mariadb-git-073b0e77310cc63ba7594d41df46fb6e2cd5ea2c.tar.gz |
- MySQL connection was not closed in case of error
modified:
storage/connect/myconn.cpp
Diffstat (limited to 'storage/connect/myconn.cpp')
-rw-r--r-- | storage/connect/myconn.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/storage/connect/myconn.cpp b/storage/connect/myconn.cpp index f269b12440b..18272db5fad 100644 --- a/storage/connect/myconn.cpp +++ b/storage/connect/myconn.cpp @@ -148,9 +148,10 @@ PQRYRES MyColumns(PGLOBAL g, const char *host, const char *db, /* Now get the results into blocks. */ /**********************************************************************/ for (i = 0; i < n; i++) { - if ((rc = myc.Fetch(g, -1) == RC_FX)) + if ((rc = myc.Fetch(g, -1) == RC_FX)) { + myc.Close(); return NULL; - else if (rc == RC_NF) + } else if (rc == RC_NF) break; // Get column name @@ -165,12 +166,14 @@ PQRYRES MyColumns(PGLOBAL g, const char *host, const char *db, if ((nf = sscanf(fld, "%[^(](%d,%d", cmd, &len, &prec)) < 1) { sprintf(g->Message, MSG(BAD_FIELD_TYPE), fld); + myc.Close(); return NULL; } else qrp->Nblin++; if ((type = MYSQLtoPLG(cmd)) == TYPE_ERROR) { sprintf(g->Message, "Unsupported column type %s", cmd); + myc.Close(); return NULL; } // endif type |