From 78b78ffd64d18f24a022abfa9f003d61f96152d5 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 1 Dec 2006 14:53:11 +0100 Subject: [PATCH] Fixed a possible crash in remux.c on 64-bit machines --- CONTRIBUTORS | 1 + HISTORY | 1 + remux.c | 6 +++--- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 322773ab..12e4c299 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1113,6 +1113,7 @@ Reinhard Nissl for implementing cDevice::ForceTransferMode() for changing the behaviour when hitting the end of a recording in fast forward mode for suggesting to give the cRemote::CallPlugin() function a boolean return value + for fixing a possible crash in remux.c on 64-bit machines Richard Robson for reporting freezing replay if a timer starts while in Transfer Mode from the diff --git a/HISTORY b/HISTORY index 03c87d82..b4ac55e3 100644 --- a/HISTORY +++ b/HISTORY @@ -4995,3 +4995,4 @@ Video Disk Recorder Revision History If your version of 'wget' doesn't support the -U option to set the user agent, use the new option -U of getskyepg.pl to have the information added to the URL as a query string. +- Fixed a possible crash in remux.c on 64-bit machines (thanks to Reinhard Nissl). diff --git a/remux.c b/remux.c index 7f2c79d4..da805b76 100644 --- a/remux.c +++ b/remux.c @@ -11,7 +11,7 @@ * The cRepacker family's code was originally written by Reinhard Nissl , * and adapted to the VDR coding style by Klaus.Schmidinger@cadsoft.de. * - * $Id: remux.c 1.56 2006/04/17 11:00:00 kls Exp $ + * $Id: remux.c 1.57 2006/12/01 14:46:25 kls Exp $ */ #include "remux.h" @@ -389,7 +389,7 @@ bool cVideoRepacker::ScanDataForStartCodeFast(const uchar *&Data, const uchar *L } Data = Limit; - unsigned long *Scanner = (unsigned long *)(Data - 3); + uint32_t *Scanner = (uint32_t *)(Data - 3); scanner = ntohl(*Scanner); return false; } @@ -615,7 +615,7 @@ bool cVideoRepacker::ScanForEndOfPictureFast(const uchar *&Data, const uchar *Li } Data = Limit + 1; - unsigned long *LocalScanner = (unsigned long *)(Data - 4); + uint32_t *LocalScanner = (uint32_t *)(Data - 4); localScanner = ntohl(*LocalScanner); return false; }