On Monday 17 of March 2008, 21:12, glen wrote: > Author: glen Date: Mon Mar 17 20:12:18 2008 GMT > Module: SOURCES Tag: rpm-4_4_9 > ---- Log message: > - more _free() compatible, however no luck still > > ---- Files affected: > SOURCES: > rpm-lualeak.patch (1.1.2.1 -> 1.1.2.2) > > ---- Diffs: > > ================================================================ > Index: SOURCES/rpm-lualeak.patch > diff -u SOURCES/rpm-lualeak.patch:1.1.2.1 SOURCES/rpm-lualeak.patch:1.1.2.2 > --- SOURCES/rpm-lualeak.patch:1.1.2.1 Mon Mar 17 20:25:50 2008 > +++ SOURCES/rpm-lualeak.patch Mon Mar 17 21:12:13 2008 > @@ -6,7 +6,7 @@ > lua_pushliteral(L, "LUA_PATH"); > lua_pushstring(L, _lua_path); > - free(_lua_path); > -+ free(_lua_path); _lua_path = NULL; > ++ if (_lua_path) free(_lua_path); _lua_path = NULL; > } > } > lua_rawset(L, LUA_GLOBALSINDEX); > @@ -15,7 +15,7 @@ > if (Stat(_lua_init, &st) != -1) > (void)rpmluaRunScriptFile(lua, _lua_init); > - free(_lua_init); > -+ free(_lua_init); _lua_init = NULL; > ++ if (_lua_init) free(_lua_init); _lua_init = NULL; man 3 free free() frees the memory space pointed to by ptr, which must have been returned by a previous call to malloc(), calloc() or realloc(). Otherwise, or if free(ptr) has already been called before, undefined behaviour occurs. If ptr is NULL, no operation is performed. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
IMO construction like `if(foo) free(foo);' has little value (maybe is useful for performance reasons - conditional instruction vs. calling function - I don't know). I didn't write any piece of C code for ages, but it seems to me that you would like achieve rather sth like: if(_lua_init) { free(_lua_init); _lua_init = NULL; } > } > } > #undef _LUADOTDIR > ================================================================ > > ---- CVS-web: > > http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/rpm-lualeak.patch?r1=1. >1.2.1&r2=1.1.2.2&f=u > > _______________________________________________ > pld-cvs-commit mailing list > [EMAIL PROTECTED] > http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit -- Tomasz Wittner _______________________________________________ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en