From a45c1c9a28654a216db8b9b57d897c4010ce6b13 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 14 Apr 2006 10:00:44 +0200 Subject: [PATCH] Added NULL checks to some strdup() calls in menuitems.c --- CONTRIBUTORS | 1 + HISTORY | 2 ++ menuitems.c | 8 ++++---- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index e7d9fb07..7d337a94 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1472,6 +1472,7 @@ Darren Salt it won't follow symbolic links, and to canonicalize the file name for making all font and image data 'const' for fixing format string handling + for suggesting to add NULL checks to some strdup() calls in menuitems.c Sean Carlos for translating OSD texts to the Italian language diff --git a/HISTORY b/HISTORY index a97fd72d..4f5ae2c3 100644 --- a/HISTORY +++ b/HISTORY @@ -4505,3 +4505,5 @@ Video Disk Recorder Revision History - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). - Fixed a crash when setting the time transponder in the Setup menu, caused by the new 'noneString' in cMenuEditChanItem (reported by Thomas Günther). +- Added NULL checks to some strdup() calls in menuitems.c (suggested by Darren + Salt). diff --git a/menuitems.c b/menuitems.c index 12d56963..56e5a4b0 100644 --- a/menuitems.c +++ b/menuitems.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menuitems.c 1.37 2006/04/14 09:53:46 kls Exp $ + * $Id: menuitems.c 1.38 2006/04/14 09:59:16 kls Exp $ */ #include "menuitems.h" @@ -23,7 +23,7 @@ const char *FileNameChars = " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"; cMenuEditItem::cMenuEditItem(const char *Name) { - name = strdup(Name); + name = strdup(Name ? Name : "???"); value = NULL; } @@ -205,7 +205,7 @@ cMenuEditChrItem::cMenuEditChrItem(const char *Name, char *Value, const char *Al :cMenuEditItem(Name) { value = Value; - allowed = strdup(Allowed); + allowed = strdup(Allowed ? Allowed : ""); current = strchr(allowed, *Value); if (!current) current = allowed; @@ -254,7 +254,7 @@ cMenuEditStrItem::cMenuEditStrItem(const char *Name, char *Value, int Length, co orgValue = NULL; value = Value; length = Length; - allowed = strdup(Allowed); + allowed = strdup(Allowed ? Allowed : ""); pos = -1; insert = uppercase = false; newchar = true;