diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.cpp b/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.cpp index 1318096167..a358c74a04 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.cpp @@ -2201,9 +2201,13 @@ FUSEVolume::OpenAttr(void* _node, const char* name, int openMode, } AttrCookie* cookie = new(std::nothrow)AttrCookie(name); + if (cookie == NULL) + RETURN_ERROR(B_NO_MEMORY); error = cookie->Allocate(attrSize); - if (error != B_OK) + if (error != B_OK) { + delete cookie; RETURN_ERROR(error); + } int bytesRead = fuse_fs_getxattr(fFS, path, name, cookie->Buffer(), attrSize);