From ea5e87f241d05d99cc376ea34d8105de8dc174c8 Mon Sep 17 00:00:00 2001 From: "James A. Morrison" Date: Tue, 16 Apr 2002 01:39:20 +0000 Subject: * node.c (gopherfs_make_netnode): Try to free all allocations on failure. * Makefile: Remove dependancy on Makeconf * Added the Changelog --- node.c | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) (limited to 'node.c') diff --git a/node.c b/node.c index ad1f74569..5dff209f1 100644 --- a/node.c +++ b/node.c @@ -34,7 +34,6 @@ gopherfs_make_netnode (char type, char *name, char *selector, char *server, unsigned short port) { struct netnode *nn; - int err; nn = (struct netnode *) malloc (sizeof (struct netnode)); if (!nn) @@ -42,34 +41,22 @@ gopherfs_make_netnode (char type, char *name, char *selector, memset (nn, 0, sizeof (struct netnode)); nn->type = type; nn->name = strdup (name); - if (! nn->name) - err = 1; nn->selector = strdup (selector); - if (! nn->selector) - err = 2; nn->server = strdup (server); - if (! nn->server) - err = 3; nn->port = port; nn->ents = NULL; nn->noents = FALSE; /* XXX init cache references */ - switch (err) - { - case 4: + if (!(nn->server && nn->selector && nn->name)) + { /* We are allowed to free NULL pointers */ free (nn->server); - case 3: free (nn->selector); - case 2: free (nn->name); - case 1: free (nn); - case 0: return NULL; - default: - return nn; } + return nn; } -- cgit v1.2.3