Bug #35508 Proxy module segfaults if fopen("roxy-lua-script", ..) fails
Submitted: 23 Mar 2008 23:58 Modified: 3 Jun 2009 13:24
Reporter: Jürgen Hötzel Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Proxy: Core Severity:S3 (Non-critical)
Version:SVN Revision 369 OS:Any
Assigned to: CPU Architecture:Any
Tags: Contribution

[23 Mar 2008 23:58] Jürgen Hötzel
Description:
luaL_loadfile_factory does not check RETURN VALUE from fopen. I suggest error handling like luaL_loadfile from Lua's lauxlib.

How to repeat:
mysql-proxy --proxy-lua-script=NONEXISTANT.lua 
# connect proxy-port 
Segmentation fault
[23 Mar 2008 23:59] Jürgen Hötzel
Patch Check RETURN VALUE from fopen

Attachment: mysql-proxy-fopen-error.patch (text/x-patch), 832 bytes.

[24 Mar 2008 21:21] Sveta Smirnova
Thank you for the report.

Verified as described:

1. Start proxy
2. Try to connect
3. Get crash
[3 Jun 2009 13:24] Kay Roepke
We believe this issue has been addressed in the latest version (0.7.1) of MySQL Proxy.

Output shown is now:
classdump:trunk kroepke$ ./sbin/mysql-proxy --proxy-lua-script=NONEXISTANT.lua
2009-06-03 15:23:16: (critical) ../../src/network-mysqld-lua.c:232: lua_load_file(/Volumes/Storage/Projects/mysql-proxy/inst/trunk/NONEXISTANT.lua) failed: ../../src/lua-scope.c:248: stat(/Volumes/Storage/Projects/mysql-proxy/inst/trunk/NONEXISTANT.lua) failed: No such file or directory (2)

and the MySQL client application sees:
classdump:~ kroepke$ mysql -h127.0.0.1 -P4040 -uroot
ERROR 1105 (HY000): #07000MySQL Proxy Lua script failed to load. Check the error log.