File: constannot.c

package info (click to toggle)
splint 1%3A3.1.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 21,012 kB
  • ctags: 23,302
  • sloc: ansic: 150,869; yacc: 3,465; sh: 3,034; makefile: 2,160; lex: 412
file content (22 lines) | stat: -rw-r--r-- 361 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*@constant int MaxLength=20@*/
# define MaxLength 20

void foo (char *str) /*@requires maxSet(str) >= MaxLength@*/ 
{
  str[20] = 'a';
}

void foo2 (char *str) /*@requires maxSet(str) >= (MaxLength - 1)@*/ 
{
  str[20] = 'a'; /* error */
}

void foo3 ()
{
  char buf[MaxLength];

  buf[0] = '\0';

  foo (buf); /* error: off by 1 */
  foo2 (buf); /* okay */
}