From ba24e93d82e0083b95a27369daf61e511d3dafd5 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 2 Oct 2005 08:49:36 +0200 Subject: [PATCH] Added a check against MAXOSDAREAS in cOsd::CanHandleAreas() --- CONTRIBUTORS | 1 + HISTORY | 4 +++- osd.c | 4 +++- 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 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 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)