[MDEV-4075] Prepare statement wrong argument overflow using UPPER(LEFT(? )) when linked against libmysqlclient-16 or 18 Created: 2013-01-23 Updated: 2013-05-02 Due: 2013-03-18 Resolved: 2013-05-02 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | 5.5.28a |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Critical |
| Reporter: | VAROQUI Stephane | Assignee: | Elena Stepanova |
| Resolution: | Incomplete | Votes: | 0 |
| Labels: | upstream | ||
| Environment: |
rehl6 |
||
| Attachments: |
|
| Description |
|
When compiling client over libmysqlclient16 and libmysqlclient18 and
inside a where clause, such parameter statement parameter is always set to 0 and cause wrong results for the query . Switching back to libmysqlclient15 fixe the issue . The issue is triggered on MySQL and MariaDB client libraries |
| Comments |
| Comment by VAROQUI Stephane [ 2013-01-23 ] |
|
We can provide a very simple C reproducible test case if that an save you time |
| Comment by Sergei Golubchik [ 2013-01-27 ] |
|
please, do! You can attach it to the issue. |
| Comment by Elena Stepanova [ 2013-01-28 ] |
|
Hi Stephane, Here is what I'm getting with the provided test: $ ./mdev-4075 $ ldd ./mdev-4075 General log contents: 7 Prepare SELECT 1 FROM DUAL WHERE UPPER(LEFT('emstoto',3))=UPPER(LEFT(?,3)) So, it looks like everything works as expected. Same with libmysqlclient-18. Could you please provide the same from your test runs? Test output, ldd, general log. Thank you. |
| Comment by Elena Stepanova [ 2013-03-08 ] |
|
Hi Stephane, You were going to get more information on this, any luck? |
| Comment by Elena Stepanova [ 2013-05-02 ] |
|
Since there is no new information on the issue, I will close it for now. Please re-open (or comment so we could re-open it) if you have any news. |