Commit 33c416f6 authored by unknown's avatar unknown

Fix for #739

check for negative count in RPAD added


mysql-test/r/func_str.result:
  Appropriate result
mysql-test/t/func_str.test:
  testcase added
sql/item_strfunc.cc:
  we return NULL if count < 0
parent fd0ecf1e
...@@ -247,3 +247,13 @@ elt(status_wnio,data_podp) ...@@ -247,3 +247,13 @@ elt(status_wnio,data_podp)
NULL NULL
NULL NULL
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 (
title text
) TYPE=MyISAM;
INSERT INTO t1 VALUES ('Congress reconvenes in September to debate welfare and adult education');
INSERT INTO t1 VALUES ('House passes the CAREERS bill');
SELECT CONCAT("</a>",RPAD("",(55 - LENGTH(title)),".")) from t1;
CONCAT("</a>",RPAD("",(55 - LENGTH(title)),"."))
NULL
</a>..........................
DROP TABLE t1;
...@@ -137,3 +137,17 @@ INSERT INTO t1 VALUES (8,NULL,'real'); ...@@ -137,3 +137,17 @@ INSERT INTO t1 VALUES (8,NULL,'real');
INSERT INTO t1 VALUES (9,NULL,'nowy'); INSERT INTO t1 VALUES (9,NULL,'nowy');
SELECT elt(status_wnio,data_podp) FROM t1 GROUP BY wid; SELECT elt(status_wnio,data_podp) FROM t1 GROUP BY wid;
DROP TABLE t1; DROP TABLE t1;
#
# test for #739
CREATE TABLE t1 (
title text
) TYPE=MyISAM;
INSERT INTO t1 VALUES ('Congress reconvenes in September to debate welfare and adult education');
INSERT INTO t1 VALUES ('House passes the CAREERS bill');
SELECT CONCAT("</a>",RPAD("",(55 - LENGTH(title)),".")) from t1;
DROP TABLE t1;
...@@ -1804,7 +1804,7 @@ String *Item_func_rpad::val_str(String *str) ...@@ -1804,7 +1804,7 @@ String *Item_func_rpad::val_str(String *str)
String *res =args[0]->val_str(str); String *res =args[0]->val_str(str);
String *rpad = args[2]->val_str(str); String *rpad = args[2]->val_str(str);
if (!res || args[1]->null_value || !rpad) if (!res || args[1]->null_value || !rpad || count < 0)
goto err; goto err;
null_value=0; null_value=0;
if (count <= (int32) (res_length=res->length())) if (count <= (int32) (res_length=res->length()))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment