summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2020-08-17 10:26:18 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2020-08-17 10:26:18 +0200
commitb4a6c36215c6ecab80c3f3c3b03897816008c4ef (patch)
tree77e9d603829a8369ef566d7866132a2929abc237
parent121f3483798628af82b9ed93ff75c43acc357d4c (diff)
downloadvdr-b4a6c36215c6ecab80c3f3c3b03897816008c4ef.tar.gz
vdr-b4a6c36215c6ecab80c3f3c3b03897816008c4ef.tar.bz2
Fixed handling newline characters in ci.c's CopyString()
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY3
-rw-r--r--ci.c4
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öhler <w_koehl@gmx.de>
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 <hilse@web.de>
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