Commit 274f8062 authored by monty@mashka.mysql.fi's avatar monty@mashka.mysql.fi
Browse files

Changed initialization of RND() to be less predictable.

Use MYSQL_CONFIG_NAME instead of "my" as the configuration file name.
parent bea3a43b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -46928,6 +46928,8 @@ not yet 100% confident in this code.
@appendixsubsec Changes in release 3.23.52
@itemize @bullet
@item
Changed initialisation of @code{RND()} to make it less predicatable.
@item
Fixed problem with @code{GROUP BY} on result with expression that created a
@code{BLOB} field.
@item
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@
#define MYSQL_VERSION_ID		@MYSQL_VERSION_ID@
#define MYSQL_PORT			@MYSQL_TCP_PORT@
#define MYSQL_UNIX_ADDR			"@MYSQL_UNIX_ADDR@"
#define MYSQL_CONFIG_NAME		"my"

/* mysqld compile time options */
#ifndef MYSQL_CHARSET
+11 −3
Original line number Diff line number Diff line
@@ -1690,7 +1690,7 @@ int main(int argc, char **argv)
    exit( 1 );
  }
#endif
  load_defaults("my",load_default_groups,&argc,&argv);
  load_defaults(MYSQL_CONFIG_NAME,load_default_groups,&argc,&argv);
  defaults_argv=argv;
  mysql_tmpdir=getenv("TMPDIR");	/* Use this if possible */
#if defined( __WIN__) || defined(OS2)
@@ -2250,7 +2250,15 @@ static void create_new_thread(THD *thd)
  for (uint i=0; i < 8 ; i++)			// Generate password teststring
    thd->scramble[i]= (char) (rnd(&sql_rand)*94+33);
  thd->scramble[8]=0;
  thd->rand=sql_rand;
  /* 
     We need good random number initialization for new thread
     Just coping global one will not work 
  */
  {
    ulong tmp=(ulong) (rnd(&sql_rand) * 3000000);
    randominit(&(thd->rand), tmp + (ulong) start_time,
	       tmp + (ulong) thread_id);
  }
  thd->real_id=pthread_self();			// Keep purify happy

  /* Start a new thread to handle connection */
@@ -3386,7 +3394,7 @@ Starts the MySQL server\n");
  --skip-innodb		       Don't use Innodb (will save memory)\n\
");
#endif /* HAVE_INNOBASE_DB */
  print_defaults("my",load_default_groups);
  print_defaults(MYSQL_CONFIG_NAME,load_default_groups);
  puts("");

#include "sslopt-usage.h"