summaryrefslogtreecommitdiffstats
path: root/sys/netgraph/ng_async.c
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>2001-01-10 07:13:58 +0000
committerjulian <julian@FreeBSD.org>2001-01-10 07:13:58 +0000
commitbb6dbcf3b2a0d48c5fc4d87972a640bdeccff1ea (patch)
tree72128a38e39aa7ad0bea118671db5ee332aff87e /sys/netgraph/ng_async.c
parentcb4e03f2d838eb75831d178dcbf3f5d4564dbf95 (diff)
downloadFreeBSD-src-bb6dbcf3b2a0d48c5fc4d87972a640bdeccff1ea.zip
FreeBSD-src-bb6dbcf3b2a0d48c5fc4d87972a640bdeccff1ea.tar.gz
Fix some memory leaks
Add memory leak detection assitance.
Diffstat (limited to 'sys/netgraph/ng_async.c')
-rw-r--r--sys/netgraph/ng_async.c31
1 files changed, 19 insertions, 12 deletions
diff --git a/sys/netgraph/ng_async.c b/sys/netgraph/ng_async.c
index 426ddd8..9208447 100644
--- a/sys/netgraph/ng_async.c
+++ b/sys/netgraph/ng_async.c
@@ -59,6 +59,13 @@
#include <net/ppp_defs.h>
+#ifdef NG_SEPARATE_MALLOC
+MALLOC_DEFINE(M_NETGRAPH_ASYNC, "netgraph_async", "netgraph async node ");
+#else
+#define M_NETGRAPH_ASYNC M_NETGRAPH
+#endif
+
+
/* Async decode state */
#define MODE_HUNT 0
#define MODE_NORMAL 1
@@ -178,7 +185,7 @@ nga_constructor(node_p node)
{
sc_p sc;
- MALLOC(sc, sc_p, sizeof(*sc), M_NETGRAPH, M_NOWAIT | M_ZERO);
+ MALLOC(sc, sc_p, sizeof(*sc), M_NETGRAPH_ASYNC, M_NOWAIT | M_ZERO);
if (sc == NULL)
return (ENOMEM);
sc->amode = MODE_HUNT;
@@ -186,15 +193,15 @@ nga_constructor(node_p node)
sc->cfg.amru = NG_ASYNC_DEFAULT_MRU;
sc->cfg.smru = NG_ASYNC_DEFAULT_MRU;
MALLOC(sc->abuf, u_char *,
- ASYNC_BUF_SIZE(sc->cfg.smru), M_NETGRAPH, M_NOWAIT);
+ ASYNC_BUF_SIZE(sc->cfg.smru), M_NETGRAPH_ASYNC, M_NOWAIT);
if (sc->abuf == NULL)
goto fail;
MALLOC(sc->sbuf, u_char *,
- SYNC_BUF_SIZE(sc->cfg.amru), M_NETGRAPH, M_NOWAIT);
+ SYNC_BUF_SIZE(sc->cfg.amru), M_NETGRAPH_ASYNC, M_NOWAIT);
if (sc->sbuf == NULL) {
- FREE(sc->abuf, M_NETGRAPH);
+ FREE(sc->abuf, M_NETGRAPH_ASYNC);
fail:
- FREE(sc, M_NETGRAPH);
+ FREE(sc, M_NETGRAPH_ASYNC);
return (ENOMEM);
}
NG_NODE_SET_PRIVATE(node, sc);
@@ -294,18 +301,18 @@ nga_rcvmsg(node_p node, item_p item, hook_p lasthook)
cfg->enabled = !!cfg->enabled; /* normalize */
if (cfg->smru > sc->cfg.smru) { /* reallocate buffer */
MALLOC(buf, u_char *, ASYNC_BUF_SIZE(cfg->smru),
- M_NETGRAPH, M_NOWAIT);
+ M_NETGRAPH_ASYNC, M_NOWAIT);
if (!buf)
ERROUT(ENOMEM);
- FREE(sc->abuf, M_NETGRAPH);
+ FREE(sc->abuf, M_NETGRAPH_ASYNC);
sc->abuf = buf;
}
if (cfg->amru > sc->cfg.amru) { /* reallocate buffer */
MALLOC(buf, u_char *, SYNC_BUF_SIZE(cfg->amru),
- M_NETGRAPH, M_NOWAIT);
+ M_NETGRAPH_ASYNC, M_NOWAIT);
if (!buf)
ERROUT(ENOMEM);
- FREE(sc->sbuf, M_NETGRAPH);
+ FREE(sc->sbuf, M_NETGRAPH_ASYNC);
sc->sbuf = buf;
sc->amode = MODE_HUNT;
sc->slen = 0;
@@ -344,10 +351,10 @@ nga_shutdown(node_p node)
{
const sc_p sc = NG_NODE_PRIVATE(node);
- FREE(sc->abuf, M_NETGRAPH);
- FREE(sc->sbuf, M_NETGRAPH);
+ FREE(sc->abuf, M_NETGRAPH_ASYNC);
+ FREE(sc->sbuf, M_NETGRAPH_ASYNC);
bzero(sc, sizeof(*sc));
- FREE(sc, M_NETGRAPH);
+ FREE(sc, M_NETGRAPH_ASYNC);
NG_NODE_SET_PRIVATE(node, NULL);
NG_NODE_UNREF(node);
return (0);
OpenPOWER on IntegriCloud