Bail out when memory allocation is failed, rather than referencing

a NULL pointer.

PR:		kern/94480
Submitted by:	Michiel Pelt <m.pelt xs4all nl>
This commit is contained in:
delphij 2009-04-02 17:16:39 +00:00
parent 08539c697d
commit f0600f6414

View File

@ -64,8 +64,10 @@ bread(struct uufsd *disk, ufs2_daddr_t blockno, void *data, size_t size)
*/
if (((intptr_t)data) & 0x3f) {
p2 = malloc(size);
if (p2 == NULL)
if (p2 == NULL) {
ERROR(disk, "allocate bounce buffer");
goto fail;
}
}
cnt = pread(disk->d_fd, p2, size, (off_t)(blockno * disk->d_bsize));
if (cnt == -1) {
@ -115,8 +117,10 @@ bwrite(struct uufsd *disk, ufs2_daddr_t blockno, const void *data, size_t size)
*/
if (((intptr_t)data) & 0x3f) {
p2 = malloc(size);
if (p2 == NULL)
if (p2 == NULL) {
ERROR(disk, "allocate bounce buffer");
return (-1);
}
memcpy(p2, data, size);
data = p2;
}