From b4a6c36215c6ecab80c3f3c3b03897816008c4ef Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Mon, 17 Aug 2020 10:26:18 +0200 Subject: Fixed handling newline characters in ci.c's CopyString() --- CONTRIBUTORS | 1 + HISTORY | 3 ++- ci.c | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 50ee175e..d56cf15e 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2762,6 +2762,7 @@ Winfried K for fixing the size of cChannel::dtypes[] for adding a device hook for detecting whether a device provides EIT data for improving deleting plugins in case the plugin uses its own memory management + for reporting a bug in handling newline characters in ci.c's CopyString() Hans-Werner Hilse for adding the command line option --userdump to enable core dumps in case VDR diff --git a/HISTORY b/HISTORY index c3f2ba52..c34373d0 100644 --- a/HISTORY +++ b/HISTORY @@ -9513,6 +9513,7 @@ Video Disk Recorder Revision History with the main menu open. - Official release. -2020-08-16: +2020-08-17: - Updated the Italian OSD texts (thanks to Diego Pierotto). +- Fixed handling newline characters in ci.c's CopyString() (reported by Winfried Köhler). diff --git a/ci.c b/ci.c index ef9675f3..ed3470b1 100644 --- a/ci.c +++ b/ci.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: ci.c 4.31 2020/07/10 09:06:21 kls Exp $ + * $Id: ci.c 4.32 2020/08/17 10:26:18 kls Exp $ */ #include "ci.h" @@ -81,7 +81,7 @@ static char *CopyString(int Length, const uint8_t *Data) char *s = MALLOC(char, Length + 1); char *p = s; while (Length > 0) { - char c = *Data; + int c = *Data; if (isprint(c)) // some CAMs send funny characters in their strings, let's just skip them *p++ = c; else if (c == 0x8A) // the character 0x8A is used as newline, so let's put a real '\n' in there -- cgit v1.2.3