On Fri, Apr 8, 2011 at 10:12 PM, Jakob Bornecrantz <wallbra...@gmail.com> wrote: > On Fri, Apr 8, 2011 at 10:04 PM, Alan Coopersmith > <alan.coopersm...@oracle.com> wrote: >> Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> > > Obvious question to this is was the string returned from > GET_PROGRAM_NAME freed in the past?
Bah, read the code again while we only leak one string its still a leak and valgrind will complain (libraries that have these type of leaks is a pet peeve of mine). But making it not leak will be ridiculous, bah humbug. Other then that I see no problems with the patch, while you don't have my ACK/RB I'm not NACK:ing it either. Cheers Jakob. >> --- >> src/mesa/drivers/dri/common/xmlconfig.c | 20 +++++++++++++++++++- >> 1 files changed, 19 insertions(+), 1 deletions(-) >> >> diff --git a/src/mesa/drivers/dri/common/xmlconfig.c >> b/src/mesa/drivers/dri/common/xmlconfig.c >> index 0312c07..0226b38 100644 >> --- a/src/mesa/drivers/dri/common/xmlconfig.c >> +++ b/src/mesa/drivers/dri/common/xmlconfig.c >> @@ -64,7 +64,25 @@ extern char *program_invocation_name, >> *program_invocation_short_name; >> the basename to match BSD getprogname() */ >> # include <stdlib.h> >> # include <libgen.h> >> -# define GET_PROGRAM_NAME() basename(getexecname()) >> + >> +static const char *__getProgramName () { >> + static const char *progname; >> + >> + if (progname == NULL) { >> + const char *e = getexecname(); >> + if (e != NULL) { >> + /* Have to make a copy since getexecname can return a readonly >> + string, but basename expects to be able to modify its arg. */ >> + char *n = strdup(e); >> + if (n != NULL) { >> + progname = basename(n); >> + } >> + } >> + } >> + return progname; >> +} >> + >> +# define GET_PROGRAM_NAME() __getProgramName() >> #endif >> >> #if !defined(GET_PROGRAM_NAME) >> -- >> 1.7.3.2 >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev >> > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev