]> granicus.if.org Git - php/commitdiff
Save some strlen
authorXinchen Hui <laruence@php.net>
Thu, 26 Jun 2014 08:11:24 +0000 (16:11 +0800)
committerXinchen Hui <laruence@php.net>
Thu, 26 Jun 2014 08:11:24 +0000 (16:11 +0800)
ext/mysqlnd/mysqlnd.c
ext/mysqlnd/mysqlnd_wireprotocol.c

index 44d908268cde8ee969f6e4dbb8c1bd85bb99ef47..6213a6328aed2ec094dee19820f4924bbc28985f 100644 (file)
@@ -971,8 +971,8 @@ MYSQLND_METHOD(mysqlnd_conn_data, connect)(MYSQLND_CONN_DATA * conn,
                */
                net->data->compressed = mysql_flags & CLIENT_COMPRESS? TRUE:FALSE;
 
-               conn->user                              = mnd_pestrdup(user, conn->persistent);
-               conn->user_len                  = strlen(conn->user);
+               conn->user_len                  = strlen(user);
+               conn->user                              = mnd_pestrndup(user, conn->user_len, conn->persistent);
                conn->passwd                    = mnd_pestrndup(passwd, passwd_len, conn->persistent);
                conn->passwd_len                = passwd_len;
                conn->port                              = port;
@@ -985,12 +985,12 @@ MYSQLND_METHOD(mysqlnd_conn_data, connect)(MYSQLND_CONN_DATA * conn,
                }
 
                if (!unix_socket && !named_pipe) {
-                       conn->host = mnd_pestrdup(host, conn->persistent);
+                       conn->host = mnd_pestrndup(host, host_len, conn->persistent);
                        if (!conn->host) {
                                SET_OOM_ERROR(*conn->error_info);
                                goto err; /* OOM */
                        }
-                       conn->host_len = strlen(conn->host);
+                       conn->host_len = host_len;
                        {
                                char *p;
                                mnd_sprintf(&p, 0, "%s via TCP/IP", conn->host);
@@ -2253,7 +2253,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, change_user)(MYSQLND_CONN_DATA * const conn,
        }
 
        /* XXX: passwords that have \0 inside work during auth, but in this case won't work with change user */
-       ret = mysqlnd_run_authentication(conn, user, passwd, strlen(passwd), db, strlen(db),
+       ret = mysqlnd_run_authentication(conn, user, passwd, passwd_len, db, strlen(db),
                                                                        conn->auth_plugin_data, conn->auth_plugin_data_len, conn->options->auth_protocol,
                                                                        0 /*charset not used*/, conn->options, conn->server_capabilities, silent, TRUE/*is_change*/ TSRMLS_CC);
 
index 8a5c453a77fb5e114fe09616a985e21331623691..35b56cc5e5dc51c8924a75ef3a3c083ec944249b 100644 (file)
@@ -159,7 +159,7 @@ php_mysqlnd_net_field_length(zend_uchar **packet)
 uint64_t
 php_mysqlnd_net_field_length_ll(zend_uchar **packet)
 {
-       register zend_uchar *p= (zend_uchar *)*packet;
+       register zend_uchar *p = (zend_uchar *)*packet;
 
        if (*p < 251) {
                (*packet)++;