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 */
}