summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2005-10-02 08:49:36 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2005-10-02 08:49:36 +0200
commitba24e93d82e0083b95a27369daf61e511d3dafd5 (patch)
treea8878a83d28be52c3b404e80233003d0dc23da0d
parent4b8ff6190172b812f68b7ec21d348f87dfb0a81a (diff)
downloadvdr-ba24e93d82e0083b95a27369daf61e511d3dafd5.tar.gz
vdr-ba24e93d82e0083b95a27369daf61e511d3dafd5.tar.bz2
Added a check against MAXOSDAREAS in cOsd::CanHandleAreas()
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY4
-rw-r--r--osd.c4
3 files changed, 7 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 7ed40a89..36f15b72 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -1288,6 +1288,7 @@ Udo Richter <udo_richter@gmx.de>
for reporting an unused MAINMENUENTRY in svdrpdemo.c
for reporting a bug in opening recording folders in case the last replayed recording
no longer exists
+ for reporting a missing check against MAXOSDAREAS in cOsd::CanHandleAreas()
Sven Kreiensen <svenk@kammer.uni-hannover.de>
for his help in keeping 'channels.conf.terr' up to date
diff --git a/HISTORY b/HISTORY
index 16b43ed8..c55c3587 100644
--- a/HISTORY
+++ b/HISTORY
@@ -3850,7 +3850,7 @@ Video Disk Recorder Revision History
Alexander Rieger).
- Made the function ExchangeChars() public (suggested by Lucian Muresan).
-2005-10-01: Version 1.3.34
+2005-10-02: Version 1.3.34
- Fixed a leftover 'summary.vdr' in vdr.5 (thanks to Peter Bieringer for reporting
this one).
@@ -3864,3 +3864,5 @@ Video Disk Recorder Revision History
Volkenandt).
- Fixed the FATALERRNO macro to check for a non-zero errno value (reported by Marco
Schlüßler).
+- Added a check against MAXOSDAREAS in cOsd::CanHandleAreas() (reported by Udo
+ Richter).
diff --git a/osd.c b/osd.c
index f0bdc7fc..11b461b3 100644
--- a/osd.c
+++ b/osd.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: osd.c 1.62 2005/06/19 10:43:04 kls Exp $
+ * $Id: osd.c 1.63 2005/10/02 08:47:13 kls Exp $
*/
#include "osd.h"
@@ -618,6 +618,8 @@ cBitmap *cOsd::GetBitmap(int Area)
eOsdError cOsd::CanHandleAreas(const tArea *Areas, int NumAreas)
{
+ if (NumAreas > MAXOSDAREAS)
+ return oeTooManyAreas;
eOsdError Result = oeOk;
for (int i = 0; i < NumAreas; i++) {
if (Areas[i].x1 > Areas[i].x2 || Areas[i].y1 > Areas[i].y2 || Areas[i].x1 < 0 || Areas[i].y1 < 0)