Commit 76d444fc authored by unknown's avatar unknown
Browse files

Portability fixes

Fixes while reviewing new pushed code
NULL as argument to encrypt/decrypt should return NULL without a warning


client/mysqldump.c:
  Cleanup
  Ensure we free allocated memory
  Portability fixes
client/mysqltest.c:
  Cleanup of code during review
  Portability fixes (Don't use 'bool')
mysql-test/r/func_encrypt.result:
  NULL as argument to encrypt/decrypt should return NULL without a warning
mysql-test/r/func_encrypt_nossl.result:
  Added test of NULL argument
mysql-test/t/func_encrypt_nossl.test:
  Added test of NULL argument
sql/handler.cc:
  Cleanup during code review
sql/item_strfunc.cc:
  NULL as argument to encrypt/decrypt should return NULL without a warning
sql/sql_parse.cc:
  Fix wrong merge (fix was not needed as the previous code was reverted)
sql/sql_table.cc:
  Removed extra new line
parent 6c46a993
Loading
Loading
Loading
Loading
+32 −23
Original line number Diff line number Diff line
@@ -533,6 +533,12 @@ static void write_footer(FILE *sql_file)
  }
} /* write_footer */

static void free_table_ent(char *key)

{
  my_free((gptr) key, MYF(0));
}


byte* get_table_key(const char *entry, uint *length,
				my_bool not_used __attribute__((unused)))
@@ -545,7 +551,8 @@ byte* get_table_key(const char *entry, uint *length,
void init_table_rule_hash(HASH* h)
{
  if (hash_init(h, charset_info, 16, 0, 0,
	       (hash_get_key) get_table_key, 0, 0))
                (hash_get_key) get_table_key,
                (hash_free_key) free_table_ent, 0))
    exit(EX_EOM);
}

@@ -933,13 +940,14 @@ static char *quote_name(const char *name, char *buff, my_bool force)
  return buff;
} /* quote_name */


/*
  Quote a table name so it can be used in "SHOW TABLES LIKE <tabname>"

  SYNOPSIS
    quote_for_like
    name     - name of the table
    buff     - quoted name of the table
    quote_for_like()
    name     name of the table
    buff     quoted name of the table

  DESCRIPTION
    Quote \, _, ' and % characters
@@ -955,7 +963,6 @@ static char *quote_name(const char *name, char *buff, my_bool force)
    Example: "t\1" => "t\\\\1"

*/

static char *quote_for_like(const char *name, char *buff)
{
  char *to= buff;
@@ -2250,7 +2257,6 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
  char new_table_name[NAME_LEN];
  DYNAMIC_STRING lock_tables_query;
  HASH dump_tables;

  DBUG_ENTER("dump_selected_tables");

  if (init_dumping(db))
@@ -2258,7 +2264,8 @@ static int dump_selected_tables(char *db, char **table_names, int tables)

  /* Init hash table for storing the actual name of tables to dump */
  if (hash_init(&dump_tables, charset_info, 16, 0, 0,
                (hash_get_key) get_table_key, 0, 0))
                (hash_get_key) get_table_key, (hash_free_key) free_table_ent,
                0))
    exit(EX_EOM);

  init_dynamic_string(&lock_tables_query, "LOCK TABLES ", 256, 1024);
@@ -2310,10 +2317,9 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
    print_xml_tag1(md_result_file, "", "database name=", db, "\n");

  /* Dump each selected table */
  const char *table_name;
  for (i= 0 ; i < dump_tables.records ; i++)
  {
    table_name= hash_element(&dump_tables, i);
    const char *table_name= hash_element(&dump_tables, i);
    DBUG_PRINT("info",("Dumping table %s", table_name));
    numrows= getTableStructure(table_name, db);
    if (!dFlag && numrows > 0)
@@ -2620,6 +2626,7 @@ int main(int argc, char **argv)
{
  compatible_mode_normal_str[0]= 0;
  default_charset= (char *)mysql_universal_client_charset;
  bzero((char*) &ignore_table, sizeof(ignore_table));

  MY_INIT("mysqldump");
  if (get_options(&argc, &argv))
@@ -2678,6 +2685,8 @@ int main(int argc, char **argv)
  if (md_result_file != stdout)
    my_fclose(md_result_file, MYF(0));
  my_free(opt_password, MYF(MY_ALLOW_ZERO_PTR));
  if (hash_inited(&ignore_table))
    hash_free(&ignore_table);
  if (extended_insert)
    dynstr_free(&extended_row);
  if (insert_pat_inited)
+18 −19
Original line number Diff line number Diff line
@@ -964,18 +964,18 @@ static void do_exec(struct st_query* q)
  error= pclose(res_file);
  if (error != 0)
  {
    uint status= WEXITSTATUS(error);
    uint status= WEXITSTATUS(error), i;
    my_bool ok= 0;

    if (q->abort_on_error)
      die("At line %u: command \"%s\" failed", start_lineno, cmd);
    else
    {

    DBUG_PRINT("info",
               ("error: %d, status: %d", error, status));
      bool ok= 0;
      uint i;
    for (i=0 ; (uint) i < q->expected_errors ; i++)
    {
        DBUG_PRINT("info", ("expected error: %d", q->expected_errno[i].code.errnum));
      DBUG_PRINT("info", ("expected error: %d",
                          q->expected_errno[i].code.errnum));
      if ((q->expected_errno[i].type == ERR_ERRNO) &&
          (q->expected_errno[i].code.errnum == status))
        ok= 1;
@@ -986,7 +986,6 @@ static void do_exec(struct st_query* q)
      die("At line: %u: command \"%s\" failed with wrong error: %d",
          start_lineno, cmd, status);
  }
  }
  else if (q->expected_errno[0].type == ERR_ERRNO &&
           q->expected_errno[0].code.errnum != 0)
  {
+0 −12
Original line number Diff line number Diff line
@@ -128,18 +128,12 @@ Error 1108 Incorrect parameters to procedure 'des_encrypt'
select des_encrypt(NULL);
des_encrypt(NULL)
NULL
Warnings:
Error	1108	Incorrect parameters to procedure 'des_encrypt'
select des_encrypt(NULL, 10);
des_encrypt(NULL, 10)
NULL
Warnings:
Error	1108	Incorrect parameters to procedure 'des_encrypt'
select des_encrypt(NULL, NULL);
des_encrypt(NULL, NULL)
NULL
Warnings:
Error	1108	Incorrect parameters to procedure 'des_encrypt'
select des_encrypt(10, NULL);
des_encrypt(10, NULL)
NULL
@@ -156,18 +150,12 @@ hello
select des_decrypt(NULL);
des_decrypt(NULL)
NULL
Warnings:
Error	1108	Incorrect parameters to procedure 'des_decrypt'
select des_decrypt(NULL, 10);
des_decrypt(NULL, 10)
NULL
Warnings:
Error	1108	Incorrect parameters to procedure 'des_decrypt'
select des_decrypt(NULL, NULL);
des_decrypt(NULL, NULL)
NULL
Warnings:
Error	1108	Incorrect parameters to procedure 'des_decrypt'
select des_decrypt(10, NULL);
des_decrypt(10, NULL)
10
+4 −0
Original line number Diff line number Diff line
@@ -23,6 +23,10 @@ des_encrypt("test", NULL)
NULL
Warnings:
Error	1289	The 'des_encrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
des_encrypt(NULL, NULL)
NULL
Warnings:
Error	1289	The 'des_encrypt' feature is disabled; you need MySQL built with '--with-openssl' to have it working
select des_decrypt("test", 'anotherkeystr');
des_decrypt("test", 'anotherkeystr')
NULL
+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ select des_encrypt("test", 1);
select des_encrypt("test", 9);
select des_encrypt("test", 100);
select des_encrypt("test", NULL);
select des_encrypt(NULL, NULL);
select des_decrypt("test", 'anotherkeystr');
select des_decrypt(1, 1);
select des_decrypt(des_encrypt("test", 'thekey'));
Loading