File: put-string-injection.m

package info (click to toggle)
rumur 2025.08.31-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,644 kB
  • sloc: cpp: 18,711; ansic: 3,825; python: 1,578; objc: 1,542; yacc: 568; sh: 331; lex: 241; lisp: 15; makefile: 5
file content (20 lines) | stat: -rw-r--r-- 509 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* This model is designed to trigger a problem first observed on
 * 0f66cb1de6e4eb359fc4aa1ab4d55c8dd951a04d wherein a crafted call to put could
 * result in the generation of code that would corrupt its own stack. If this
 * problem has been re-introduced, the generated code for this model will
 * trigger a compilation error when passing -Werror=format.
 */

var
  s: 0 .. 10;
  a: array[0 .. 10] of boolean;

startstate begin
  a[0] := true;
  s := 1;
end;

rule begin
  put a[4%s];
  a[0] := !a[0];
end;