From 0343d3ad7103c24c07deab384c0ea360e776fabf Mon Sep 17 00:00:00 2001 From: leslie Date: Sat, 7 Nov 2009 16:49:02 +0800 Subject: [PATCH] sasc: fix memory trashing in ffdecsa plugin --- contrib/sasc-ng/dvblb_plugins/plugin_ffdecsa.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/contrib/sasc-ng/dvblb_plugins/plugin_ffdecsa.c b/contrib/sasc-ng/dvblb_plugins/plugin_ffdecsa.c index e3b2ae1..030be27 100644 --- a/contrib/sasc-ng/dvblb_plugins/plugin_ffdecsa.c +++ b/contrib/sasc-ng/dvblb_plugins/plugin_ffdecsa.c @@ -15,7 +15,7 @@ #define DBG_NAME "CSA" #include "debug.h" //This is required to happen AFTER PLUGIN_ID is defined -#define FF_MAX_IDX 8 +#define FF_MAX_IDX 16 #define FF_MAX_PID 8 #define push_empty_queue(_item, _queue) { \ @@ -95,6 +95,8 @@ void update_keys(int adpt, unsigned char keytype, int index, unsigned char *key, assert(csa); if(! csa) return; + if(index < 0 || index >= FF_MAX_IDX) + return; pthread_mutex_lock(&csa->state_lock); if (keytype == 'I') //Invalidate -- 2.39.5