From 1b062b32391b5ec34652853eddaa79ab9d625cc1 Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Sun, 7 Jan 2001 17:06:26 +0000 Subject: 2000-12-21 Marcus Brinkmann * rr.c (rrip_work): Use strdup instead malloc and strcpy. Assert that strdup and malloc (for rr->trans) succeeds. * pager.c: Include . (create_disk_pager): If malloc fails, exit with error. * main.c (read_sblock): Fail if malloc does. * inode.c (diskfs_cached_lookup): When allocating memory for dn or np fails, release spinlock, rrip (and allocated memory) and return ENOMEM. (load_inode): Likewise (but no rrip). Also, if *npp is non-zero, release diskfs_node_refcnt_lock before returning. Reported by Igor Khavkine . --- isofs/pager.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'isofs/pager.c') diff --git a/isofs/pager.c b/isofs/pager.c index 7e12ebc0..5142cbc8 100644 --- a/isofs/pager.c +++ b/isofs/pager.c @@ -18,6 +18,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. */ +#include #include #include "isofs.h" @@ -130,7 +131,9 @@ void create_disk_pager (void) { struct user_pager_info *upi = malloc (sizeof (struct user_pager_info)); - + + if (!upi) + error (1, errno, "Could not create disk pager"); upi->type = DISK; upi->np = 0; pager_bucket = ports_create_bucket (); -- cgit v1.2.3