From 77b6fc6ebf2b301cfdd8c5cbb14eafe38cfa533c Mon Sep 17 00:00:00 2001 From: Lars Hanisch Date: Sat, 9 Mar 2013 12:27:43 +0100 Subject: found a stack overflow in dynamite patch --- patches/vdr-1.7.39-dynamite+externalci+rotorng.patch | 13 ++----------- patches/vdr-1.7.39-dynamite+externalci.patch | 13 ++----------- patches/vdr-1.7.39-dynamite.patch | 13 ++----------- 3 files changed, 6 insertions(+), 33 deletions(-) (limited to 'patches') diff --git a/patches/vdr-1.7.39-dynamite+externalci+rotorng.patch b/patches/vdr-1.7.39-dynamite+externalci+rotorng.patch index 948e6f7..229a5d8 100644 --- a/patches/vdr-1.7.39-dynamite+externalci+rotorng.patch +++ b/patches/vdr-1.7.39-dynamite+externalci+rotorng.patch @@ -38,7 +38,7 @@ index 74e0270..818ea29 100644 class cTPDU; diff --git a/device.c b/device.c -index ca897b0..69f941e 100644 +index ca897b0..3d87375 100644 --- a/device.c +++ b/device.c @@ -69,12 +69,22 @@ int cDevice::currentChannel = 1; @@ -291,16 +291,7 @@ index ca897b0..69f941e 100644 if (Pid) { cMutexLock MutexLock(&mutexReceiver); for (int i = 0; i < MAXRECEIVERS; i++) { -@@ -1713,6 +1794,8 @@ void cDevice::DetachAll(int Pid) - - void cDevice::DetachAllReceivers(void) - { -+ if (parentDevice) -+ return parentDevice->DetachAllReceivers(); - cMutexLock MutexLock(&mutexReceiver); - for (int i = 0; i < MAXRECEIVERS; i++) - Detach(receiver[i]); -@@ -1785,3 +1868,25 @@ uchar *cTSBuffer::Get(void) +@@ -1785,3 +1866,25 @@ uchar *cTSBuffer::Get(void) } return NULL; } diff --git a/patches/vdr-1.7.39-dynamite+externalci.patch b/patches/vdr-1.7.39-dynamite+externalci.patch index a214f9f..cc98bca 100644 --- a/patches/vdr-1.7.39-dynamite+externalci.patch +++ b/patches/vdr-1.7.39-dynamite+externalci.patch @@ -38,7 +38,7 @@ index 74e0270..818ea29 100644 class cTPDU; diff --git a/device.c b/device.c -index ca897b0..69f941e 100644 +index ca897b0..3d87375 100644 --- a/device.c +++ b/device.c @@ -69,12 +69,22 @@ int cDevice::currentChannel = 1; @@ -291,16 +291,7 @@ index ca897b0..69f941e 100644 if (Pid) { cMutexLock MutexLock(&mutexReceiver); for (int i = 0; i < MAXRECEIVERS; i++) { -@@ -1713,6 +1794,8 @@ void cDevice::DetachAll(int Pid) - - void cDevice::DetachAllReceivers(void) - { -+ if (parentDevice) -+ return parentDevice->DetachAllReceivers(); - cMutexLock MutexLock(&mutexReceiver); - for (int i = 0; i < MAXRECEIVERS; i++) - Detach(receiver[i]); -@@ -1785,3 +1868,25 @@ uchar *cTSBuffer::Get(void) +@@ -1785,3 +1866,25 @@ uchar *cTSBuffer::Get(void) } return NULL; } diff --git a/patches/vdr-1.7.39-dynamite.patch b/patches/vdr-1.7.39-dynamite.patch index ddfcddc..8432580 100644 --- a/patches/vdr-1.7.39-dynamite.patch +++ b/patches/vdr-1.7.39-dynamite.patch @@ -25,7 +25,7 @@ index 74e0270..d38e2dd 100644 class cTPDU; diff --git a/device.c b/device.c -index ca897b0..69f941e 100644 +index ca897b0..3d87375 100644 --- a/device.c +++ b/device.c @@ -69,12 +69,22 @@ int cDevice::currentChannel = 1; @@ -278,16 +278,7 @@ index ca897b0..69f941e 100644 if (Pid) { cMutexLock MutexLock(&mutexReceiver); for (int i = 0; i < MAXRECEIVERS; i++) { -@@ -1713,6 +1794,8 @@ void cDevice::DetachAll(int Pid) - - void cDevice::DetachAllReceivers(void) - { -+ if (parentDevice) -+ return parentDevice->DetachAllReceivers(); - cMutexLock MutexLock(&mutexReceiver); - for (int i = 0; i < MAXRECEIVERS; i++) - Detach(receiver[i]); -@@ -1785,3 +1868,25 @@ uchar *cTSBuffer::Get(void) +@@ -1785,3 +1866,25 @@ uchar *cTSBuffer::Get(void) } return NULL; } -- cgit v1.2.3