mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed a possible out-of-bounds access in cVector::Remove()
This commit is contained in:
parent
6e35f47a3e
commit
67fff7f4fc
1
HISTORY
1
HISTORY
@ -8348,3 +8348,4 @@ Video Disk Recorder Revision History
|
||||
Alberto Reguero).
|
||||
- Added the functions IndexOf(), InsertUnique(), AppendUnique() and RemoveElement()
|
||||
to the cVector class (thanks to Stefan Schallenberg).
|
||||
- Fixed a possible out-of-bounds access in cVector::Remove().
|
||||
|
4
tools.h
4
tools.h
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: tools.h 3.4 2015/01/12 12:03:59 kls Exp $
|
||||
* $Id: tools.h 3.5 2015/01/12 12:13:33 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __TOOLS_H
|
||||
@ -575,6 +575,8 @@ public:
|
||||
}
|
||||
virtual void Remove(int Index)
|
||||
{
|
||||
if (Index < 0)
|
||||
return; // prevents out-of-bounds access
|
||||
if (Index < size - 1)
|
||||
memmove(&data[Index], &data[Index + 1], (size - Index) * sizeof(T));
|
||||
size--;
|
||||
|
Loading…
Reference in New Issue
Block a user