diff --git a/src/system/kernel/messaging/KMessage.cpp b/src/system/kernel/messaging/KMessage.cpp index c861efc599..cbeeffefd3 100644 --- a/src/system/kernel/messaging/KMessage.cpp +++ b/src/system/kernel/messaging/KMessage.cpp @@ -962,8 +962,16 @@ KMessage::_AllocateSpace(int32 size, bool alignAddress, bool alignSize, } else { if (newSize > fBufferCapacity) { // if we don't own the buffer, we can't resize it - if (!(fFlags & KMESSAGE_OWNS_BUFFER)) + if (!(fFlags & KMESSAGE_OWNS_BUFFER)) { +#ifdef _KERNEL_MODE && 0 + // optional debugging to find insufficiently sized KMessage + // buffers (e.g. for in-kernel notifications) + panic("KMessage: out of space: available: %" B_PRId32 + ", needed: %" B_PRId32 "\n", fBufferCapacity, newSize); +#endif return B_BUFFER_OVERFLOW; + } + int32 newCapacity = _CapacityFor(newSize); void* newBuffer = realloc(fBuffer, newCapacity); if (!newBuffer)