[R-sig-DB] [PATCH] Memory leak in RMySQL 0.6-0

Jeffrey Horner je||@horner @end|ng |rom v@nderb||t@edu
Tue Oct 9 22:18:47 CEST 2007


Jeffrey Horner wrote on 10/08/2007 04:35 PM:
> Jeffrey Horner wrote on 10/08/2007 04:28 PM:
>> Hi David,
>>
>> I hope I'm working on the latest version of RMySQL...
>>
>> I found a memory leak in RMySQL 0.6-0 for calls to mysqlExecStatement 
>> that return a result set. The fix is quite simple and is attached.
> 
> Oops, it would help if I attached the appropriate patch file. This one 
> should be right.

Just a follow-up, but there seems to be another memory leak. This time 
it's in the libmysqlclient c library call load_defaults() (at least the 
one provided by my ubuntu distro). Each time a new RMySQL connection is 
made, load_defaults() is called. Another tidbit is that function doesn't 
seem to be part of the mysql client API according to this mysql bug report:

http://bugs.mysql.com/bug.php?id=25535

But all is not lost. The leak can be avoided by compiling RMySQL without 
getopt long support, but since most linux distros provide getopt, it's 
just as easy to edit line 348 of RS-MySQL.c (part of the RMySQL package) 
to look like this:

#if 0 /* HAVE_GETOPT_LONG */


Not sure what the maintainer wants to do about this one.

Jeff




More information about the R-sig-DB mailing list