summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/completion_hash.cc3
-rw-r--r--client/mysql.cc9
2 files changed, 8 insertions, 4 deletions
diff --git a/client/completion_hash.cc b/client/completion_hash.cc
index 536e7f9373a..7a3b363c93c 100644
--- a/client/completion_hash.cc
+++ b/client/completion_hash.cc
@@ -79,7 +79,8 @@ int completion_hash_update(HashTable *ht, char *arKey, uint nKeyLength,
if (!memcmp(p->arKey, arKey, nKeyLength)) {
entry *n;
- n = (entry *) alloc_root(&ht->mem_root,sizeof(entry));
+ if (!(n = (entry *) alloc_root(&ht->mem_root,sizeof(entry))))
+ return FAILURE;
n->pNext = p->pData;
n->str = str;
p->pData = n;
diff --git a/client/mysql.cc b/client/mysql.cc
index 0ea0f10f5d7..bfa827a6e95 100644
--- a/client/mysql.cc
+++ b/client/mysql.cc
@@ -1502,7 +1502,10 @@ You can turn off this feature to get a quicker startup with -A\n\n");
if (!(field_names[i] = (char **) alloc_root(&hash_mem_root,
sizeof(char *) *
(num_fields*2+1))))
- break;
+ {
+ mysql_free_result(fields);
+ break;
+ }
field_names[i][num_fields*2]= '\0';
j=0;
while ((sql_field=mysql_fetch_field(fields)))
@@ -2077,10 +2080,10 @@ print_table_data_html(MYSQL_RES *result)
}
while ((cur = mysql_fetch_row(result)))
{
+ ulong *lengths=mysql_fetch_lengths(result);
(void) tee_fputs("<TR>", PAGER);
for (uint i=0; i < mysql_num_fields(result); i++)
{
- ulong *lengths=mysql_fetch_lengths(result);
(void) tee_fputs("<TD>", PAGER);
safe_put_field(cur[i],lengths[i]);
(void) tee_fputs("</TD>", PAGER);
@@ -2106,10 +2109,10 @@ print_table_data_xml(MYSQL_RES *result)
fields = mysql_fetch_fields(result);
while ((cur = mysql_fetch_row(result)))
{
+ ulong *lengths=mysql_fetch_lengths(result);
(void) tee_fputs("\n <row>\n", PAGER);
for (uint i=0; i < mysql_num_fields(result); i++)
{
- ulong *lengths=mysql_fetch_lengths(result);
tee_fprintf(PAGER, "\t<%s>", (fields[i].name ?
(fields[i].name[0] ? fields[i].name :
" &nbsp; ") : "NULL"));