From a2dfe66038baef1efcf4938fc9028ea836d97141 Mon Sep 17 00:00:00 2001 From: sasan-golchin <ahmad.golchin@mail.polimi.it> Date: Thu, 20 Oct 2016 16:37:10 +0200 Subject: [PATCH] Bug fixed in IntrusiveList: Deleting an already removed item is banned now to avoid undefined behaviour --- miosix/kernel/intrusive.h | 3 +++ 1 file changed, 3 insertions(+) mode change 100644 => 100755 miosix/kernel/intrusive.h diff --git a/miosix/kernel/intrusive.h b/miosix/kernel/intrusive.h old mode 100644 new mode 100755 index 1031d57f..b8c46dfc --- a/miosix/kernel/intrusive.h +++ b/miosix/kernel/intrusive.h @@ -791,6 +791,9 @@ public: */ iterator erase(iterator it) { + // Can't erase an item that is already erased + if ((*it)->next==nullptr || (*it)->prev==nullptr) return it; + // Can't erase the emptyListItem which is used for internal purposes if((*it)==&emptyListItem) return it; iterator result = it; result++; -- GitLab