]> granicus.if.org Git - php/commitdiff
@- Fix a data corruption bug in mysql_result(), if used in table.fieldname mode ...
authorZeev Suraski <zeev@php.net>
Sun, 26 Mar 2000 02:01:11 +0000 (02:01 +0000)
committerZeev Suraski <zeev@php.net>
Sun, 26 Mar 2000 02:01:11 +0000 (02:01 +0000)
Hopefully that settles this one.

ext/mysql/php_mysql.c

index ffcc722f9bf127b55073c90b4d19c03cd597f135..a6844a7c3ca12ec8451b5534be5fd3a330e0621b 100644 (file)
@@ -400,7 +400,7 @@ static void php_mysql_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent)
                tmp++;
                if (tmp[0] != '/') {
                        port = atoi(tmp);
-                       if(tmp=strchr(tmp,':')) {
+                       if ((tmp=strchr(tmp, ':'))) {
                                *tmp=0;
                                tmp++;
                                socket=tmp;
@@ -1163,8 +1163,7 @@ PHP_FUNCTION(mysql_result)
                                        char *table_name, *field_name, *tmp;
 
                                        if ((tmp=strchr((*field)->value.str.val,'.'))) {
-                                               *tmp = 0;
-                                               table_name = estrdup((*field)->value.str.val);
+                                               table_name = estrndup((*field)->value.str.val, tmp-(*field)->value.str.val);
                                                field_name = estrdup(tmp+1);
                                        } else {
                                                table_name = NULL;