[rtmpdump] [PATCH] Fix unsigned < 0 comparisons
Martin Panter
vadmium+rtmp at gmail.com
Thu May 29 02:21:04 CEST 2014
>From df3c43d9823fae253a63821ea6653472ede1c815 Mon Sep 17 00:00:00 2001
From: Martin Panter <vadmium à gmail·com>
Date: Tue, 17 Sep 2013 09:10:16 +0000
Subject: [PATCH] Fix unsigned < 0 comparisons
* Previous tag size field is supposed to be unsigned (UI32 type), so cannot
be negative
* Extended timestamp field is apparently signed (SI32 value), so check for
negative by testing high bit
---
Unmangled patch: https://github.com/vadmium/rtmpdump/commit/df3c43d.patch
rtmpdump.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/rtmpdump.c b/rtmpdump.c
index 13741a7..186ce52 100644
--- a/rtmpdump.c
+++ b/rtmpdump.c
@@ -332,10 +332,10 @@ GetLastKeyframe(FILE * file, // output file [in]
return RD_FAILED;
}
- if (prevTagSize < 0 || prevTagSize > size - 4 - 13)
+ if (prevTagSize > size - 4 - 13)
{
RTMP_Log(RTMP_LOGERROR,
- "Last tag size must be greater/equal zero (prevTagSize=%d) and
smaller then filesize, corrupt file!",
+ "Last tag size must be smaller than filesize (prevTagSize=%d),
corrupt file!",
prevTagSize);
return RD_FAILED;
}
@@ -395,7 +395,7 @@ GetLastKeyframe(FILE * file, // output file [in]
//{
//}
- if (*dSeek < 0)
+ if (*dSeek & 0x80000000)
{
RTMP_Log(RTMP_LOGERROR,
"Last keyframe timestamp is negative, aborting, your file is corrupt!");
--
1.9.3
More information about the rtmpdump
mailing list