patch-1.3.25 linux/fs/smbfs/dir.c
Next file: linux/include/asm-alpha/pgtable.h
Previous file: linux/fs/proc/root.c
Back to the patch index
Back to the overall index
- Lines: 22
- Date:
Thu Sep 7 17:11:47 1995
- Orig file:
v1.3.24/linux/fs/smbfs/dir.c
- Orig date:
Mon Aug 28 14:52:22 1995
diff -u --recursive --new-file v1.3.24/linux/fs/smbfs/dir.c linux/fs/smbfs/dir.c
@@ -180,12 +180,21 @@
{
i = sizeof (struct smb_dirent) * SMB_READDIR_CACHE_SIZE;
c_entry = (struct smb_dirent *) smb_kmalloc(i, GFP_KERNEL);
+ if (c_entry == NULL) {
+ printk("smb_readdir: no MEMORY for cache\n");
+ return -ENOMEM;
+ }
for (i = 0; i < SMB_READDIR_CACHE_SIZE; i++) {
c_entry[i].path =
(char *) smb_kmalloc(SMB_MAXNAMELEN + 1,
GFP_KERNEL);
if (c_entry[i].path == NULL) {
DPRINTK("smb_readdir: could not alloc path\n");
+ while (--i>=0)
+ kfree(c_entry[i].path);
+ kfree(c_entry);
+ c_entry = NULL;
+ return -ENOMEM;
}
}
}
FUNET's LINUX-ADM group, [email protected]
TCL-scripts by Sam Shen, [email protected]
with Sam's (original) version of this