cBitmap::SetXpm() now checks whether the given Xpm pointer is not NULL

This commit is contained in:
Klaus Schmidinger 2007-08-12 11:36:14 +02:00
parent ab7fd0a903
commit dbcc517354
3 changed files with 10 additions and 1 deletions

View File

@ -2127,3 +2127,7 @@ Patrice Staudt <staudt@engsystem.net>
Tobias Bratfisch <tobias@reel-multimedia.com>
for improving numdigits(), isnumber() and strreplace()
for suggesting to make skipspace() an inline function
Andreas Mair <andreas@vdr-developer.org>
for suggesting to make cBitmap::SetXpm() checks whether the given Xpm pointer is
not NULL

View File

@ -5340,3 +5340,6 @@ Video Disk Recorder Revision History
Ville Skyttä). Plugin authors may want to consider doing the same.
- Fixed the link to the GPL2 at http://www.gnu.org in vdr.c (thanks to Ville
Skyttä).
- cBitmap::SetXpm() now checks whether the given Xpm pointer is not NULL, to
avoid a crash with files that only contain "/* XPM */" (suggested by Andreas
Mair).

4
osd.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: osd.c 1.71 2007/07/20 14:51:36 kls Exp $
* $Id: osd.c 1.72 2007/08/12 11:33:17 kls Exp $
*/
#include "osd.h"
@ -321,6 +321,8 @@ bool cBitmap::LoadXpm(const char *FileName)
bool cBitmap::SetXpm(const char *const Xpm[], bool IgnoreNone)
{
if (!Xpm)
return false;
const char *const *p = Xpm;
int w, h, n, c;
if (4 != sscanf(*p, "%d %d %d %d", &w, &h, &n, &c)) {