Sorry for the reply-to-self, but I thought I'd take ecpg out of the
equation:
#include <sys/types.h>
#include <pwd.h>
int main()
{
struct passwd p;
struct passwd * r;
char buf[500];
getpwuid_r(1000, &p, &buf[0], 500, &r);
}
... produces the same leak report.
Since you didn't include information like the actual errors from
valgrind, I can't be sure that the report you are getting is the same as
the one I am getting. It could be that in your older version there _is_
something wrong. Perhaps you could post the output of running
valgrind --leak-check=full ./testprogram
just to be sure?
--
Craig Ringer