andrey          Mon Feb  4 17:55:06 2008 UTC

  Modified files:              (Branch: PHP_5_3)
    /php-src/ext/mysqlnd        mysqlnd.c 
  Log:
  Simplify unique string generation and plug a leak.
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqlnd/mysqlnd.c?r1=1.5.2.13&r2=1.5.2.14&diff_format=u
Index: php-src/ext/mysqlnd/mysqlnd.c
diff -u php-src/ext/mysqlnd/mysqlnd.c:1.5.2.13 
php-src/ext/mysqlnd/mysqlnd.c:1.5.2.14
--- php-src/ext/mysqlnd/mysqlnd.c:1.5.2.13      Tue Jan 29 18:11:46 2008
+++ php-src/ext/mysqlnd/mysqlnd.c       Mon Feb  4 17:55:06 2008
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: mysqlnd.c,v 1.5.2.13 2008/01/29 18:11:46 andrey Exp $ */
+/* $Id: mysqlnd.c,v 1.5.2.14 2008/02/04 17:55:06 andrey Exp $ */
 #include "php.h"
 #include "mysqlnd.h"
 #include "mysqlnd_wireprotocol.h"
@@ -28,8 +28,6 @@
 #include "mysqlnd_charset.h"
 #include "mysqlnd_debug.h"
 #include "mysqlnd_block_alloc.h"
-#include "ext/standard/basic_functions.h"
-#include "ext/standard/php_lcg.h"
 
 /* the server doesn't support 4byte utf8, but let's make it forward compatible 
*/
 #define MYSQLND_MAX_ALLOWED_USER_LEN   256  /* 64 char * 4byte */
@@ -544,15 +542,6 @@
        }
        DBG_INF_FMT("transport=%p", transport);
 
-       if (conn->persistent) {
-               struct timeval tv;
-               gettimeofday(&tv, NULL);
-               /* We should generate something unique */
-               hashed_details_len = spprintf(&hashed_details, 0, "[EMAIL 
PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]",
-                                                                         
transport, user, db, tv.tv_sec, (long int)tv.tv_usec,
-                                                                         
php_combined_lcg(TSRMLS_C) * 10);
-               DBG_INF_FMT("hashed_details=%s", hashed_details);
-       } 
 
        PACKET_INIT_ALLOCA(greet_packet, PROT_GREET_PACKET);
        PACKET_INIT(auth_packet, PROT_AUTH_PACKET, php_mysql_packet_auth *);
@@ -563,6 +552,19 @@
                self_alloced = TRUE;
        }
 
+       if (conn->persistent) {
+#if 0
+               struct timeval tv;
+               gettimeofday(&tv, NULL);
+               /* We should generate something unique */
+               hashed_details_len = spprintf(&hashed_details, 0, "[EMAIL 
PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]",
+                                                                         
transport, user, db, tv.tv_sec, (long int)tv.tv_usec,
+                                                                         
php_combined_lcg(TSRMLS_C) * 10);
+#endif
+               hashed_details_len = spprintf(&hashed_details, 0, "%p", conn);
+               DBG_INF_FMT("hashed_details=%s", hashed_details);
+       } 
+
        CONN_SET_STATE(conn, CONN_ALLOCED);
        conn->net.packet_no = 0;
 
@@ -584,6 +586,9 @@
        DBG_INF_FMT("stream=%p", conn->net.stream);
 
        if (errstr || !conn->net.stream) {
+               if (hashed_details) {
+                       mnd_efree(hashed_details);
+               }
                goto err;
        }
 

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to