Thanks Gareth - what code base are you using? 2.0? 1.x? The property code was rewritten between these two versions, so it's important. And thanks again for the bug report.
John On 8/22/2010 2:18 PM, Gareth Lowe wrote: > I have submitted a bug: > https://sourceforge.net/tracker/?func=detail&aid=3050990&group_id=1730&atid=101730 > > We have had several crashes when calling SLPFindSrvs. > > We are passing a null scope list and the problem occurs in the following > section of code: > /* Get a scope list if not supplied. */ > if (pcScopeList == 0 || *pcScopeList == 0) > pcScopeList = SLPPropertyGet("net.slp.useScopes", 0, 0); > > If pcScopeList is NULL or empty string SLPPropertyGet returns the value from > the slp.conf file. Sometimes, however, this call returns NULL which is > unchecked and later on when strlen() is called on the NULL string the > application will crash. > > The first issue is the code assumes the get property will always successfully > return a string even though it is possible that it can return NULL. > The biggest issue however is why the SLPPropertyGet for "net.slp.useScopes" > returns NULL when thousands of times previously it has returned the correct > value. > > I believe this is caused by a race condition in the property access. > Periodically libslp refreshes its properties by first clearing them and then > reloading them. Modifications and accesses to the property list are protected > by MUTEXes but clearing and reloading the property list is not an atomic > action, it is two actions, clearing and reloading. If SLPFindSrvs is unlucky > enough to be called between these two actions the call will crash. > > Gareth > ------------------------------------------------------------------------------ > This SF.net email is sponsored by > > Make an app they can't live without > Enter the BlackBerry Developer Challenge > http://p.sf.net/sfu/RIM-dev2dev > _______________________________________________ > Openslp-devel mailing list > Openslp-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/openslp-devel > ------------------------------------------------------------------------------ This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev _______________________________________________ Openslp-devel mailing list Openslp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openslp-devel