From cc4051ad6a3712c4407ffb608c8d23f2b66952d6 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 12 Sep 2018 11:39:32 +1000 Subject: [PATCH] devices: break after finding and removing device from lists Coverity complains about a use after free in here after the freeing, I can't follow the linked list so well, but whot says the device can only be on one list once, so break should fix it. Signed-off-by: Dave Airlie (cherry picked from commit ba0f5d854f4db52974ab5cd09191303b01b075ff) --- dix/devices.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dix/devices.c b/dix/devices.c index 4a628afb0..1b18b168e 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -1177,6 +1177,7 @@ RemoveDevice(DeviceIntPtr dev, BOOL sendevent) flags[tmp->id] = IsMaster(tmp) ? XIMasterRemoved : XISlaveRemoved; CloseDevice(tmp); ret = Success; + break; } } @@ -1193,6 +1194,7 @@ RemoveDevice(DeviceIntPtr dev, BOOL sendevent) prev->next = next; ret = Success; + break; } }