Bug 800838 - Guard against invalid NPP when unscheduling plugin timers on Android r=blassey

This commit is contained in:
James Willcox
2013-01-23 09:16:26 -05:00
parent 373d337aa9
commit 8287dabf11
3 changed files with 29 additions and 0 deletions

View File

@@ -2813,7 +2813,13 @@ _scheduletimer(NPP instance, uint32_t interval, NPBool repeat, PluginTimerFunc t
void NP_CALLBACK
_unscheduletimer(NPP instance, uint32_t timerID)
{
#ifdef MOZ_WIDGET_ANDROID
// Sometimes Flash calls this with a dead NPP instance. Ensure the one we have
// here is valid and maps to a nsNPAPIPluginInstance.
nsNPAPIPluginInstance *inst = nsNPAPIPluginInstance::GetFromNPP(instance);
#else
nsNPAPIPluginInstance *inst = (nsNPAPIPluginInstance *)instance->ndata;
#endif
if (!inst)
return;