[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] Avoid dereferencing NULL cache objects.
XENBUS_CACHE(Get, ...) can fail in low memory conditions. Avoid dereferencing NULL pointers in ASSERTs Fix up error path to avoid returning a NULL pointer to the cache. Signed-off-by: Owen Smith <owen.smith@xxxxxxxxx> --- src/xenvif/receiver.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/xenvif/receiver.c b/src/xenvif/receiver.c index 4807582..0ce5b67 100644 --- a/src/xenvif/receiver.c +++ b/src/xenvif/receiver.c @@ -266,6 +266,8 @@ __ReceiverRingGetPacket( &Receiver->CacheInterface, Ring->PacketCache, Locked); + if (Packet == NULL) + return NULL; ASSERT(IsZeroMemory(&Packet->Info, sizeof (XENVIF_PACKET_INFO))); ASSERT3P(Packet->Ring, ==, Ring); @@ -1788,11 +1790,11 @@ __ReceiverRingPreparePacket( fail2: Error("fail2\n"); + __ReceiverRingPutFragment(Ring, Fragment); + fail1: Error("fail1 (%08x)\n", status); - __ReceiverRingPutFragment(Ring, Fragment); - return NULL; } -- 2.41.0.windows.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |