diff --git a/HISTORY b/HISTORY index 2b7a9683..2a952cb1 100644 --- a/HISTORY +++ b/HISTORY @@ -4201,3 +4201,4 @@ Video Disk Recorder Revision History - Fixed a crash after executing the SVDRP command CLRE, caused by dangling 'schedule' pointers from cChannel objects (reported by Malte Schröder). - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). +- Improved NULL checking in strreplace(). diff --git a/tools.c b/tools.c index 85fd4061..031c120a 100644 --- a/tools.c +++ b/tools.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: tools.c 1.111 2006/01/15 16:42:37 kls Exp $ + * $Id: tools.c 1.112 2006/01/20 14:01:28 kls Exp $ */ #include "tools.h" @@ -138,13 +138,14 @@ char *strn0cpy(char *dest, const char *src, size_t n) char *strreplace(char *s, char c1, char c2) { - char *p = s; - - while (p && *p) { - if (*p == c1) - *p = c2; - p++; - } + if (s) { + char *p = s; + while (*p) { + if (*p == c1) + *p = c2; + p++; + } + } return s; }