Bug #44367 valgrind warnings with find_in_set() functions
Submitted: 20 Apr 2009 15:31 Modified: 12 May 2009 2:47
Reporter: Shane Bester (Platinum Quality Contributor) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: General Severity:S3 (Non-critical)
Version:5.1.35 OS:Linux
Assigned to: Sergei Glukhov CPU Architecture:Any
Tags: FIND_IN_SET, valgrind
Triage: Triaged: D2 (Serious)

[20 Apr 2009 15:31] Shane Bester
Description:
find_in_set function produces warnings like:
Conditional jump or move depends on uninitialised value(s)

in function Item_func_find_in_set::val_int() (item_func.cc:2750)

See file attached for full outputs.

How to repeat:
drop table if exists `test`;
create table `test` (`col5` set('test1','test2','test3') character set utf8 default null) engine=myisam default charset=latin1;
insert into `test` values (''),(null),(null),(''),(''),('');
select find_in_set(col5,col5) as a from t1,(select find_in_set(col5,col5) as b from t1) a ;
select find_in_set(col5,col5) as a from t1,(select find_in_set(col5,col5) as b from t1) a order by a ;
[20 Apr 2009 15:34] Shane Bester
oops, proper testcase s/t1/test/ :
-------------------------------

drop table if exists `test`;
create table `test` (`col5` set('test1','test2','test3') character set utf8 default null) engine=myisam default charset=latin1;
insert into `test` values (''),(null),(null),(''),(''),('');
select find_in_set(col5,col5) as a from test,(select find_in_set(col5,col5) as b from test) a;
select find_in_set(col5,col5) as a from test,(select find_in_set(col5,col5) as b from test) a order by a ;
[20 Apr 2009 15:35] Shane Bester
valgrind outputs

Attachment: bug44367_valgrind_warnings_5.1.35.txt (text/plain), 8.57 KiB.

[21 Apr 2009 8:23] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/72544

2861 Sergey Glukhov	2009-04-21
      Bug#44367 valgrind warnings with find_in_set() functions
       init 'wc' variable
     @ mysql-test/r/func_set.result
        test result
     @ mysql-test/t/func_set.test
        test case
     @ sql/item_func.cc
        init 'wc' variable
[23 Apr 2009 8:50] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/72699

2866 Sergey Glukhov	2009-04-23
      Bug#44367 valgrind warnings with find_in_set() functions
      init 'wc' variable
     @ mysql-test/r/func_set.result
        test result
     @ mysql-test/t/func_set.test
        test case
     @ sql/item_func.cc
        init 'wc' variable
[5 May 2009 19:41] Bugs System
Pushed into 5.1.35 (revid:davi.arnaut@sun.com-20090505190206-9xmh7dlc6kom8exp) (version source revid:davi.arnaut@sun.com-20090505190206-9xmh7dlc6kom8exp) (merge vers: 5.1.35) (pib:6)
[6 May 2009 14:10] Bugs System
Pushed into 6.0.12-alpha (revid:svoj@sun.com-20090506125450-yokcmvqf2g7jhujq) (version source revid:sergey.glukhov@sun.com-20090423084237-j570b1umgk6tb4ha) (merge vers: 6.0.11-alpha) (pib:6)
[12 May 2009 2:47] Paul Dubois
Noted in 5.1.35, 6.0.12 changelogs.

Valgrind warnings for the DECODE(), ENCRYPT(), and FIND_IN_SET()
functions were corrected.
[15 Jun 2009 8:28] Bugs System
Pushed into 5.1.35-ndb-6.3.26 (revid:jonas@mysql.com-20090615074202-0r5r2jmi83tww6sf) (version source revid:jonas@mysql.com-20090615070837-9pccutgc7repvb4d) (merge vers: 5.1.35-ndb-6.3.26) (pib:6)
[15 Jun 2009 9:07] Bugs System
Pushed into 5.1.35-ndb-7.0.7 (revid:jonas@mysql.com-20090615074335-9hcltksp5cu5fucn) (version source revid:jonas@mysql.com-20090615072714-rmfkvrbbipd9r32c) (merge vers: 5.1.35-ndb-7.0.7) (pib:6)
[15 Jun 2009 9:48] Bugs System
Pushed into 5.1.35-ndb-6.2.19 (revid:jonas@mysql.com-20090615061520-sq7ds4yw299ggugm) (version source revid:jonas@mysql.com-20090615054654-ebgpz7elwu1xj36j) (merge vers: 5.1.35-ndb-6.2.19) (pib:6)