From: Bjorn Munch Date: December 9 2010 11:14am Subject: bzr commit into mysql-5.5-mtr branch (bjorn.munch:3124) Bug#58710 List-Archive: http://lists.mysql.com/commits/126404 X-Bug: 58710 Message-Id: <201012091114.oB9BERTN003218@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0079340031==" --===============0079340031== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/bm136801/my/debug-55/ based on revid:bjorn.munch@stripped 3124 Bjorn Munch 2010-12-09 Bug #58710 Valgrind warnings in mysqltest Var's string value was not 0-terminated if intially null. While at it, also removed some reported memory leaks Added sanity check, setting val_len=0 if val==0 modified: client/mysqltest.cc === modified file 'client/mysqltest.cc' --- a/client/mysqltest.cc 2010-11-26 09:57:01 +0000 +++ b/client/mysqltest.cc 2010-12-09 11:14:00 +0000 @@ -2073,6 +2073,8 @@ VAR *var_init(VAR *v, const char *name, name_len = strlen(name); if (!val_len && val) val_len = strlen(val) ; + if (!val) + val_len= 0; val_alloc_len = val_len + 16; /* room to grow */ if (!(tmp_var=v) && !(tmp_var = (VAR*)my_malloc(sizeof(*tmp_var) + name_len+1, MYF(MY_WME)))) @@ -2093,10 +2095,9 @@ VAR *var_init(VAR *v, const char *name, die("Out of memory"); if (val) - { memcpy(tmp_var->str_val, val, val_len); - tmp_var->str_val[val_len]= 0; - } + tmp_var->str_val[val_len]= 0; + var_check_int(tmp_var); tmp_var->name_len = name_len; tmp_var->str_val_len = val_len; @@ -5053,6 +5054,7 @@ void do_close_connection(struct st_comma dynstr_append_mem(ds, ";\n", 2); } + dynstr_free(&ds_connection); DBUG_VOID_RETURN; } @@ -5481,6 +5483,7 @@ void do_connect(struct st_command *comma dynstr_free(&ds_port); dynstr_free(&ds_sock); dynstr_free(&ds_options); + dynstr_free(&ds_default_auth); #ifdef HAVE_SMEM dynstr_free(&ds_shm); #endif @@ -5729,6 +5732,7 @@ void do_block(enum block_cmd cmd, struct } v.is_int= TRUE; + var_free(&v2); } else { if (*expr_start != '`' && ! my_isdigit(charset_info, *expr_start)) @@ -7822,7 +7826,7 @@ void run_query(struct st_connection *cn, ds, &ds_warnings); dynstr_free(&ds_warnings); - if (command->type == Q_EVAL) + if (command->type == Q_EVAL || command->type == Q_SEND_EVAL) dynstr_free(&eval_query); if (display_result_sorted) --===============0079340031== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/bjorn.munch@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: bjorn.munch@stripped # target_branch: file:///home/bm136801/my/debug-55/ # testament_sha1: 7058382ba7bdfa64ffa2c278a66afa5bae2d8afb # timestamp: 2010-12-09 12:14:27 +0100 # base_revision_id: bjorn.munch@stripped\ # 6neuwiybo2gm84tn # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWWWHfnsAAejfgEAQeef//3YH KYq////0UAR4tjzNWu9PXq5V10JSENJp6KfqnpoxolPU8mCTPRNEYjBBiDRCZNGQyZFGmj1BppoA AAAAJQISZoTVNPaoN6TUaaGhmoeoD1GQADFENG1Kbapo0PUeiaA0NB6hoBoAAkkTRpMTFT9J5Kba U9qj0Q8kaDQZBp6jPUjHg2aDSVK/Th8zMjNGVVPszv987Q76oCz24L4bJ6NKcRkIyJ8cSmz31UVU TDs6DiJzxOzWqtIkxgLrXyDNCws1or8eJWpLnj+f7YP2w52UXTPuziuc4/L7qsUwWjB2O0jb277Z LqOfTDMLUJPiSlbkUOk0VWaK7HnsIMeJORWzKtd4mHzqzwQGFIiDSISNiVxwWAKTAak0gnOp1EWR CXubnZ1GIEGRBWZDmO45COI7CE1SiTSwXKxuUSBHFDc12mqUCqCdbFiYlp43TBAowlsp3yQJVLXp ZlMTtTgfi6RabTzWatMy+Cr5Cp/lzimTURuPB/yBWuUEDIzIuJIwtYzOeynAmlnucF2PBWeQr9pr mKKVAqgz8Ktkm3mrInOKq1AzEWux0RGfBsRIq0EDtEKJFmD4HY1dwwBVhezIUBAE7WWByZoYJ9S1 0Cy4w83qhCEbkVB+SlxQWLBjIkC15455jGucWkQLGI99z8mwx1JOtSgnMWXRtEvoS86KmZLGpyH1 DF7L1RrJeZhAQWhdQ1lKaDLEOGkFiLGWUwuZ0GteslWXIxDIs1goE6LBvTvbz9ejpNeL54OxCSJ5 un7bNy6kjkV0syY/W875OXgd5XMw9w6JXZ/eTX8DeknvQoksoJ8HDLSw6DqblOks1IhHrPVO+QS6 xIdhmZkpbnMX2xNKEOBJMqZVN3XNvE2VbyI6a0rmgGw2id76C7cw4AeAEWaAhehQ+QsH9hysQcts KnuJGeJI8ZHwl8BSEyUz0r08ubuySpnJUXGkKI6m4RMfl1Hz+zH+cxGYGy+xGAlNRa7XF83PMPA4 UT7jgvmoDpJuMVu5j8W5UeHOWnRfSb2Jda8933QL3LLMnJQtIwK8IcHijKlqQDouJwmCNI+toKyl ldxlMjLiUwhqeKNu1Fa4hSTodCMqU65kLmCLs+moCUtwc0/XWmphYGJs33qBA2UShVB7pMK8jW1B oCeV0zzkjed9vLWiHGCZstYXXzrBblwDbWEjwgiQ0JDF0060EsrV4M4bEKHt1COCbAnLp6891goh AyFN0BeSI7YvZlEOJCikFRM+TIkPcEAwuUOUynNKraqDZhAwRSL3F4jktxmO0SHpTI4OkPFIiEVg C4j9bGqx5Smr1sycWELZ7/dNTmnYDEaTgDlEk4pGychNjcKclsXsGLkAapqK5p0iqM3jxFvNFFOj S7FxpxBplHKbd2N5wyKRUBidcX1WzvCWBRcoJVivUUGrcjJgDgeS3VUvDd1uoq3gUkYDRZV2taX2 cMrxo5XZ9CRpfUug7HGerdm7yZ79mlTBxPwI0+iMTSstODU0XkN6yRHF5cNLA6DiZxNRLffjK/UR tM7/+LuSKcKEgyw789g= --===============0079340031==--