Interfacing with library software is often tricky because passing an incorrect argument to a routine might cause it to fail in an unpredictable manner. Debugging such problems is much harder than correcting your own code because you do not typically have as much information about how the library routine should work.

Insure++ has built-in knowledge of a large number of system calls and checks the arguments you pass to ensure correct data type and, if appropriate, correct range.

The following code would generate an error because the last argument passed to the fseek function is outside the legal range:

void myrewind(FILE *fp) 
{
	fseek(fp, (long)0, 3);
}
  • No labels