summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2003-12-09 20:50:11 +0100
committerunknown <serg@serg.mylan>2003-12-09 20:50:11 +0100
commit6f1d63bfe0f7166709061c6f6ad07d00164ce6d8 (patch)
treeb8ee45262e3da0469b0169121bfbcb03b67c6557
parent4e85bf326e8051533bb680d1a612813705dc789d (diff)
parent7cfbf9e8f681eac207f8b37d12780f73ffa5dd70 (diff)
downloadmariadb-git-6f1d63bfe0f7166709061c6f6ad07d00164ce6d8.tar.gz
Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0 sql/mysqld.cc: Auto merged
-rw-r--r--libmysql/libmysql.c3
-rw-r--r--myisam/ft_boolean_search.c11
-rw-r--r--sql/mysqld.cc4
-rw-r--r--sql/opt_range.cc2
-rw-r--r--sql/repl_failsafe.cc1
-rw-r--r--sql/table.cc5
6 files changed, 16 insertions, 10 deletions
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index 6abc29d29f4..5fcc3ba5ee0 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -941,7 +941,8 @@ static void mysql_read_default_options(struct st_mysql_options *options,
options->rpl_parse= 1;
break;
case 27:
- options->max_allowed_packet= atoi(opt_arg);
+ if (opt_arg)
+ options->max_allowed_packet= atoi(opt_arg);
break;
default:
DBUG_PRINT("warning",("unknown option: %s",option[0]));
diff --git a/myisam/ft_boolean_search.c b/myisam/ft_boolean_search.c
index 30b52a20060..c7128464228 100644
--- a/myisam/ft_boolean_search.c
+++ b/myisam/ft_boolean_search.c
@@ -322,10 +322,13 @@ FT_INFO * ft_init_boolean_search(MI_INFO *info, uint keynr, byte *query,
to alloc queue with alloc_root()
*/
res=ftb->queue.max_elements=1+query_len/(min(ft_min_word_len,2)+1);
- ftb->queue.root=(byte **)alloc_root(&ftb->mem_root, (res+1)*sizeof(void*));
+ if (!(ftb->queue.root=
+ (byte **)alloc_root(&ftb->mem_root, (res+1)*sizeof(void*))))
+ goto err;
reinit_queue(& ftb->queue, res, 0, 0,
(int (*)(void*,byte*,byte*))FTB_WORD_cmp, 0);
- ftbe=(FTB_EXPR *)alloc_root(&ftb->mem_root, sizeof(FTB_EXPR));
+ if (!(ftbe=(FTB_EXPR *)alloc_root(&ftb->mem_root, sizeof(FTB_EXPR))))
+ goto err;
ftbe->weight=1;
ftbe->flags=FTB_FLAG_YES;
ftbe->nos=1;
@@ -343,6 +346,10 @@ FT_INFO * ft_init_boolean_search(MI_INFO *info, uint keynr, byte *query,
if (ftb->queue.elements<2) ftb->with_scan &= ~FTB_FLAG_TRUNC;
ftb->state=READY;
return ftb;
+err:
+ free_root(& ftb->mem_root, MYF(0));
+ my_free((gptr)ftb,MYF(0));
+ return 0;
}
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 70ee2f632ca..410a1644eec 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -4634,14 +4634,14 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
my_use_symdir=0;
break;
case (int) OPT_BIND_ADDRESS:
- if (argument && isdigit(argument[0]))
+ if (isdigit(argument[0]))
{
my_bind_addr = (ulong) inet_addr(argument);
}
else
{
struct hostent *ent;
- if (argument || argument[0])
+ if (argument[0])
ent=gethostbyname(argument);
else
{
diff --git a/sql/opt_range.cc b/sql/opt_range.cc
index 63850709285..07f2f1eaf67 100644
--- a/sql/opt_range.cc
+++ b/sql/opt_range.cc
@@ -2454,7 +2454,7 @@ QUICK_SELECT *get_quick_select_for_ref(THD *thd, TABLE *table, TABLE_REF *ref)
if (cp_buffer_from_ref(ref))
{
if (thd->fatal_error)
- return 0; // out of memory
+ goto err; // out of memory
return quick; // empty range
}
diff --git a/sql/repl_failsafe.cc b/sql/repl_failsafe.cc
index 6b91d81b487..6599516044a 100644
--- a/sql/repl_failsafe.cc
+++ b/sql/repl_failsafe.cc
@@ -426,7 +426,6 @@ static Slave_log_event* find_slave_event(IO_CACHE* log,
my_snprintf(errmsg, SLAVE_ERRMSG_SIZE,
"Could not find slave event in log '%s'",
(char*)log_file_name);
- delete ev;
return 0;
}
diff --git a/sql/table.cc b/sql/table.cc
index 422202301f1..0789f7469e7 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -1100,13 +1100,12 @@ rename_file_ext(const char * from,const char * to,const char * ext)
char *get_field(MEM_ROOT *mem, TABLE *table, uint fieldnr)
{
Field *field=table->field[fieldnr];
- char buff[MAX_FIELD_WIDTH];
+ char buff[MAX_FIELD_WIDTH], *to;
String str(buff,sizeof(buff));
field->val_str(&str,&str);
uint length=str.length();
- if (!length)
+ if (!length || !(to= (char*) alloc_root(mem,length+1)))
return NullS;
- char *to= (char*) alloc_root(mem,length+1);
memcpy(to,str.ptr(),(uint) length);
to[length]=0;
return to;