Valgrind complains on simple selects containing expression DAY(FROM_UNIXTIME(-1))

Bug #998340 reported by Igor Babaev
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MariaDB
New
High
Alexey Botchkov

Bug Description

The following test case makes valgrind complain when running mariadb-5.1:

SELECT SUBSTRING('1', DAY(FROM_UNIXTIME(-1)));
SELECT LEFT('1', DAY(FROM_UNIXTIME(-1)));
SELECT RIGHT('1', DAY(FROM_UNIXTIME(-1)));
SELECT REPEAT('1', DAY(FROM_UNIXTIME(-1)));
SELECT RPAD('hi', DAY(FROM_UNIXTIME(-1)),'?');
SELECT LPAD('hi', DAY(FROM_UNIXTIME(-1)),'?');

CREATE TABLE t1
SELECT SUBSTRING('1', DAY(FROM_UNIXTIME(-1))) AS f1,
       LEFT('1', DAY(FROM_UNIXTIME(-1))) AS f2,
       RIGHT('1', DAY(FROM_UNIXTIME(-1))) AS f3,
       REPEAT('1', DAY(FROM_UNIXTIME(-1))) AS f4,
       RPAD('hi', DAY(FROM_UNIXTIME(-1)),'?') AS f5,
       LPAD('hi', DAY(FROM_UNIXTIME(-1)),'?') AS f6;
SHOW CREATE TABLE t1;
DROP TABLE t1;

(see also bug##12634989 from mysql-trunk)

The complains are like this:

==24162== Conditional jump or move depends on uninitialised value(s)
==24162== at 0x622A1A: Item_func_substr::fix_length_and_dec() (item_strfunc.cc:1273)
==24162== by 0x5EF4B7: Item_func::fix_fields(THD*, Item**) (item_func.cc:205)
==24162== by 0x61E3DA: Item_str_func::fix_fields(THD*, Item**) (item_strfunc.cc:67)
==24162== by 0x70BE1B: setup_fields(THD*, Item**, List<Item>&, enum_mark_columns, List<Item>*, bool) (sql_base.cc:7714)
==24162== by 0x71F07B: JOIN::prepare(Item***, TABLE_LIST*, unsigned int, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, st_select_lex*, st_select_lex_unit*) (sql_select.cc:530)
==24162== by 0x7268A7: mysql_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) (sql_select.cc:2545)
==24162== by 0x71E818: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:280)
==24162== by 0x6BD119: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5241)
==24162== by 0x6B4232: mysql_execute_command(THD*) (sql_parse.cc:2380)
==24162== by 0x6BF845: mysql_parse(THD*, char*, unsigned int, char const**) (sql_parse.cc:6216)
==24162== by 0x6B1B30: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1294)
==24162== by 0x6B0AE0: do_command(THD*) (sql_parse.cc:906)
==24162== by 0x6AD563: handle_one_connection (sql_connect.cc:1208)
==24162== by 0x5D16A4E: start_thread (in /lib64/libpthread-2.11.2.so)

Most probably we have the same problem in other versions of MariaDB

Related branches

Changed in maria:
assignee: nobody → Alexey Botchkov (holyfoot)
importance: Undecided → High
summary: - Valgrind complains from simple selects containing expression
+ Valgrind complains on simple selects containing expression
DAY(FROM_UNIXTIME(-1))
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.