[splint-discuss] What about this case (Splint reporting a memoryleak when none exists)?

jds jds.2005 at verizon.net
Sat Aug 6 06:24:21 EDT 2005


Duh.  Should have found that in the manual.

However, when I add the annotation:

static void killInt(/*@notnull@*/pInt* pi)
/*@releases *pi@*/
/*@ensures isnull *pi@*/
{
  free(*pi);
  *pi = NULL;
}

static void killGlobalInt(void)
/*@globals killed g_int1@*/
{
  killInt(&g_int1);
}

now Splint complains that the global is not actually released before return 
from killGlobalInt().  It does not seem to be following the call to killInt 
with its annotations about releasing and nulling the parameter.  Curiously, 
it also now reports that calls to killGlobalInt() have no effect.

I'm sorry if I'm being dense.





More information about the splint-discuss mailing list