summaryrefslogtreecommitdiff
path: root/ts2pkt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ts2pkt.cpp')
-rw-r--r--ts2pkt.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/ts2pkt.cpp b/ts2pkt.cpp
index 7d66c08..2aca980 100644
--- a/ts2pkt.cpp
+++ b/ts2pkt.cpp
@@ -235,7 +235,7 @@ int cMarkAdTS2Pkt::Process(MarkAdPid Pid, uchar *TSData, int TSSize, uchar **Pkt
Reset(MA_ERR_TOBIG);
return TS_SIZE;
}
- if (buflen<0)
+ if (buflen<=0)
{
// error in size
Reset(MA_ERR_NEG);
@@ -307,7 +307,11 @@ int cMarkAdTS2Pkt::Process(MarkAdPid Pid, uchar *TSData, int TSSize, uchar **Pkt
pktdatalast=pktdata;
int bufleftsize=pktsize-(pktinfo.pkthdr+size);
-
+ if (bufleftsize<=0)
+ {
+ Reset(MA_ERR_NEG);
+ return bytes_processed;
+ }
uchar *bufleft=(uchar *) malloc(bufleftsize);
if (!bufleft)
{