File: sprintf.c

package info (click to toggle)
splint 3.1.2.dfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, squeeze, wheezy
  • size: 12,908 kB
  • ctags: 15,816
  • sloc: ansic: 150,306; yacc: 3,463; sh: 3,426; makefile: 2,218; lex: 412
file content (18 lines) | stat: -rw-r--r-- 448 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
char *sp (/*@untainted@*/ char *s1, /*@untainted@*/ char *s2, /*@tainted@*/ char *s3)
{
  char *s;
  s = (char *) malloc (sizeof (*s) * 100);
  assert (s != NULL);

  sprintf (s, "%s %d %s %d", s1, 3, s2, 3);
  (void) system (s); /* okay */

  sprintf (s, "%s %d %s %d", s1, 3, s3, 3);
  (void) system (s); /* error */

  sprintf (s, "%s %d %s %d %s %s %s", s1, 3, s2, 3, s2, s3, s2);
  (void) system (s); /* error */

  return s; /* error */
}