[patch]: ensure Cache_client_make_key() returns > 0
Cache_client_make_key() carefully prevents integer overflow from making it return a negative value, but it might return 0. This is a problem because a_Capi_open_url() either calls a_Cache_open_url() and returns the new client key or else returns 0 to signal that it did not call a_Cache_open_url(). If Cache_client_make_key() returns 0 then a_Capi_open_url() will return 0 too, and so its caller will think that a_Cache_open_url() was not called even though it was. This will stop the new cache client from being added to the browser window that is responsible for creating it, which is wrong. Regards, Jeremy Henty
On Sat, May 02, 2009 at 11:22:06PM +0100, Jeremy Henty wrote:
Cache_client_make_key() carefully prevents integer overflow from making it return a negative value, but it might return 0. This is a problem because a_Capi_open_url() either calls a_Cache_open_url() and returns the new client key or else returns 0 to signal that it did not call a_Cache_open_url(). If Cache_client_make_key() returns 0 then a_Capi_open_url() will return 0 too, and so its caller will think that a_Cache_open_url() was not called even though it was. This will stop the new cache client from being added to the browser window that is responsible for creating it, which is wrong.
Committed. Thanks for the detailed explanation. -- Cheers Jorge.-
participants (2)
-
jcid@dillo.org
-
onepoint@starurchin.org