mysqlgui crash caused by infinite loop

mysqlgui crash caused by infinite loop

Post by pet.. » Thu, 28 Mar 2002 07:22:36



Quote:>Description:

        mysqlgui crash caused by infinite loop in
        mysql_read_default_options because strcend
        never returns 0

Quote:>How-To-Repeat:
>Fix:

--- libmysql/libmysql.c.orig    Thu Feb 14 18:30:17 2002

          *end=0;                               /* Remove '=' */
        }
        /* Change all '_' in variable name to '-' */
-       for (end= *option ; (end= strcend(end,'_')) ; )
+       for (end= *option ; (end= strcend(end,'_')) && *end; )
          *end= '-';
        switch (find_type(*option+2,&option_types,2)) {
        case 1:                         /* port */

--- libmysql_r/libmysql.c.orig  Thu Feb 14 18:30:17 2002

          *end=0;                               /* Remove '=' */
        }
        /* Change all '_' in variable name to '-' */
-       for (end= *option ; (end= strcend(end,'_')) ; )
+       for (end= *option ; (end= strcend(end,'_')) && *end; )
          *end= '-';
        switch (find_type(*option+2,&option_types,2)) {
        case 1:                         /* port */

Quote:>Submitter-Id:       <submitter ID>
>Originator: Peter Str?mberg
>Organization:
>MySQL support: none
>Synopsis:   mysqlgui crash caused by infinite loop
>Severity:   serious
>Priority:  
>Category:   mysql
>Class:              sw-bug
>Release:    mysql-3.23.49 (OpenBSD port: mysql-server-3.23.49)
>Server: /usr/local/bin/mysqladmin  Ver 8.23 Distrib 3.23.49, for unknown-openbsd3.1 on i386

Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version          3.23.49-log
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/run/mysql/mysql.sock
Uptime:                 7 hours 48 min 23 sec

Threads: 1  Questions: 1  Slow queries: 0  Opens: 6  Flush tables: 1  Open tables: 0 Queries per second avg: 0.000

Quote:>Environment:

System: OpenBSD wilfried.no-ip.org 3.1 GENERIC#3 i386

Some paths:  /usr/bin/perl /usr/bin/make /usr/local/bin/gmake /usr/bin/gcc /usr/bin/cc
GCC: Reading specs from /usr/lib/gcc-lib/i386-unknown-openbsd3.1/2.95.3/specs
gcc version 2.95.3 20010125 (prerelease)
Compilation info: CC='cc'  CFLAGS='-O2 -pipe '  CXX='cc'  CXXFLAGS='-O2 -pipe  -felide-constructors -fno-exceptions -fno-rtti'  LDFLAGS=''
LIBC:
-r--r--r--  1 root  bin  732610 Mar 23 15:16 /usr/lib/libc.a
-r--r--r--  1 root  bin  598961 Mar 23 15:16 /usr/lib/libc.so.28.3
Configure command: ./configure  --enable-shared --enable-static --localstatedir=/var/mysql --with-innodb '--with-comment=OpenBSD port: mysql-server-3.23.49' --with-libwrap=/usr --with-mysqld-user=mysql --with-unix-socket-path=/var/run/mysql/mysql.sock --without-perl --without-debug --without-readline --without-bench --without-mit-threads --without-gemini --without-berkeley-db --prefix=/usr/local --sysconfdir=/etc

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)



Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

 
 
 

mysqlgui crash caused by infinite loop

Post by Sinisa Milivojev » Thu, 28 Mar 2002 21:55:00



> >Description:
>    mysqlgui crash caused by infinite loop in
>    mysql_read_default_options because strcend
>    never returns 0
> >How-To-Repeat:

> >Fix:

> --- libmysql/libmysql.c.orig       Thu Feb 14 18:30:17 2002
> +++ libmysql/libmysql.c    Tue Mar 19 15:52:49 2002

>      *end=0;                               /* Remove '=' */
>    }
>    /* Change all '_' in variable name to '-' */
> -  for (end= *option ; (end= strcend(end,'_')) ; )
> +  for (end= *option ; (end= strcend(end,'_')) && *end; )
>      *end= '-';
>    switch (find_type(*option+2,&option_types,2)) {
>    case 1:                         /* port */

> --- libmysql_r/libmysql.c.orig     Thu Feb 14 18:30:17 2002
> +++ libmysql_r/libmysql.c  Tue Mar 26 22:52:17 2002

>      *end=0;                               /* Remove '=' */
>    }
>    /* Change all '_' in variable name to '-' */
> -  for (end= *option ; (end= strcend(end,'_')) ; )
> +  for (end= *option ; (end= strcend(end,'_')) && *end; )
>      *end= '-';
>    switch (find_type(*option+2,&option_types,2)) {
>    case 1:                         /* port */

Hi!

Thank you, both for your mail fix.

This bug was fixed few weeks ago.

Fixed version will be released both with 3.23.50 and 4.0.2.

Thanks again.

--
Regards,
   __  ___     ___ ____  __

 / /|_/ / // /\ \/ /_/ / /__   MySQL AB, Fulltime Developer
/_/  /_/\_, /___/\___\_\___/   Larnaca, Cyprus
       <___/   www.mysql.com

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)



Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php