On Dec 15, 2009, at 12:41:32, MyztikJenz wrote:
> The call to ProcessInformationCopyDictionary() in isGrowlRunning is  
> not checked for a null return, which causes a crash in the  
> subsequent CFDictionaryGetValue() if the PSN is no longer valid.

Your fix suffers from the same problem: When it continues, the loop  
condition will pass this no-longer-valid PSN to GetNextProcess. The  
documentation doesn't define what will happen; one of the better cases  
is that GetNextProcess will return procNotFound, which is the loop's  
termination condition. Thus, the loop will exit before it finds the  
GHA process (if there is one). A worse possibility is that it could  
crash.

The only true fix I can see is to try the loop repeatedly until we  
either find a GHA process or reach the end of the process list.

--

You received this message because you are subscribed to the Google Groups 
"Growl Discuss" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/growldiscuss?hl=en.


Reply via email to