#define ZERO_STRUCTP(x) do { if ((x) != NULL) memset((char *)(x), 0, sizeof(*(x))); } while(0)
+#ifndef SAFE_FREE
+#define SAFE_FREE(x) do { if ((x) != NULL) {free(x); (x)=NULL;} } while(0)
+#endif
+
enum nwrap_dbglvl_e {
NWRAP_LOG_ERROR = 0,
NWRAP_LOG_WARN,
"Cannot find function %s in %s",
s, b->so_path);
}
- free(s);
- s = NULL;
+ SAFE_FREE(s);
return res;
}
return true;
failed:
- if (buf) free(buf);
+ SAFE_FREE(buf);
return false;
}
{
nwrap->unload(nwrap);
- if (nwrap->buf) free(nwrap->buf);
-
- nwrap->buf = NULL;
+ SAFE_FREE(nwrap->buf);
}
static void nwrap_files_cache_reload(struct nwrap_cache *nwrap)
struct nwrap_pw *nwrap_pw;
nwrap_pw = (struct nwrap_pw *)nwrap->private_data;
- if (nwrap_pw->list) free(nwrap_pw->list);
-
- nwrap_pw->list = NULL;
+ SAFE_FREE(nwrap_pw->list);
nwrap_pw->num = 0;
nwrap_pw->idx = 0;
}
if (nwrap_gr->list) {
for (i=0; i < nwrap_gr->num; i++) {
- if (nwrap_gr->list[i].gr_mem) {
- free(nwrap_gr->list[i].gr_mem);
- }
+ SAFE_FREE(nwrap_gr->list[i].gr_mem);
}
- free(nwrap_gr->list);
+ SAFE_FREE(nwrap_gr->list);
}
- nwrap_gr->list = NULL;
nwrap_gr->num = 0;
nwrap_gr->idx = 0;
}
if (nwrap_he->list != NULL) {
for (i = 0; i < nwrap_he->num; i++) {
- if (nwrap_he->list[i].ht.h_aliases != NULL) {
- free(nwrap_he->list[i].ht.h_aliases);
- }
- if (nwrap_he->list[i].addr != NULL) {
- free(nwrap_he->list[i].addr);
- }
+ SAFE_FREE(nwrap_he->list[i].ht.h_aliases);
+ SAFE_FREE(nwrap_he->list[i].addr);
}
- free(nwrap_he->list);
+ SAFE_FREE(nwrap_he->list);
}
- nwrap_he->list = NULL;
nwrap_he->num = 0;
nwrap_he->idx = 0;
}
* module backend
*/
-#ifndef SAFE_FREE
-#define SAFE_FREE(x) do { if ((x) != NULL) {free(x); (x)=NULL;} } while(0)
-#endif
static struct passwd *nwrap_module_getpwnam(struct nwrap_backend *b,
const char *name)