aboutsummaryrefslogtreecommitdiff
path: root/isofs/pager.c
diff options
context:
space:
mode:
authorMarcus Brinkmann <marcus@gnu.org>2001-01-07 17:06:26 +0000
committerMarcus Brinkmann <marcus@gnu.org>2001-01-07 17:06:26 +0000
commit1b062b32391b5ec34652853eddaa79ab9d625cc1 (patch)
tree5bb37887def6090ac81768871deaededab369c22 /isofs/pager.c
parent1f2c071fb4b9f8f9b3184ecd4f05bb6dde830984 (diff)
downloadhurd-1b062b32391b5ec34652853eddaa79ab9d625cc1.tar.gz
hurd-1b062b32391b5ec34652853eddaa79ab9d625cc1.tar.bz2
hurd-1b062b32391b5ec34652853eddaa79ab9d625cc1.zip
2000-12-21 Marcus Brinkmann <marcus@gnu.org>
* rr.c (rrip_work): Use strdup instead malloc and strcpy. Assert that strdup and malloc (for rr->trans) succeeds. * pager.c: Include <errno.h>. (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 <i_khavki@alcor.concordia.ca>.
Diffstat (limited to 'isofs/pager.c')
-rw-r--r--isofs/pager.c5
1 files changed, 4 insertions, 1 deletions
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 <error.h>
#include <string.h>
#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 ();