1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/value/imprecise_invalid_write.i (no preprocessing)
tests/value/imprecise_invalid_write.i:5:[kernel] warning: Body of function main1 falls-through. Adding a return statement
tests/value/imprecise_invalid_write.i:10:[kernel] warning: Body of function main2 falls-through. Adding a return statement
tests/value/imprecise_invalid_write.i:17:[kernel] warning: Body of function main3 falls-through. Adding a return statement
[value] Analyzing a complete application starting at main
[value] Computing initial state
[value] Initial state computed
[value:initial-state] Values of globals at initialization
x ∈ {0}
s ∈ {{ "abc" }}
[value] computing for function main1 <- main.
Called from tests/value/imprecise_invalid_write.i:22.
tests/value/imprecise_invalid_write.i:5:[value] warning: out of bounds write. assert \valid((int *)c);
tests/value/imprecise_invalid_write.i:5:[kernel] warning: all target addresses were invalid. This path is assumed to be dead.
[value] Recording results for main1
[value] Done for function main1
[value] computing for function main2 <- main.
Called from tests/value/imprecise_invalid_write.i:25.
tests/value/imprecise_invalid_write.i:9:[value] Assigning imprecise value to p.
The imprecision originates from Arithmetic
{tests/value/imprecise_invalid_write.i:9}
tests/value/imprecise_invalid_write.i:10:[value] warning: out of bounds write. assert \valid(p);
tests/value/imprecise_invalid_write.i:10:[kernel] warning: all target addresses were invalid. This path is assumed to be dead.
[value] Recording results for main2
[value] Done for function main2
[value] computing for function main3 <- main.
Called from tests/value/imprecise_invalid_write.i:28.
tests/value/imprecise_invalid_write.i:16:[value] Assigning imprecise value to p.
The imprecision originates from Arithmetic
{tests/value/imprecise_invalid_write.i:16}
tests/value/imprecise_invalid_write.i:17:[value] warning: out of bounds write. assert \valid(p);
tests/value/imprecise_invalid_write.i:17:[kernel] warning: all target addresses were invalid. This path is assumed to be dead.
[value] Recording results for main3
[value] Done for function main3
[value] Recording results for main
[value] done for function main
tests/value/imprecise_invalid_write.i:5:[value] assertion 'Value,mem_access' got final status invalid.
tests/value/imprecise_invalid_write.i:10:[value] assertion 'Value,mem_access' got final status invalid.
tests/value/imprecise_invalid_write.i:17:[value] assertion 'Value,mem_access' got final status invalid.
[value] ====== VALUES COMPUTED ======
[value:final-states] Values at end of function main1:
NON TERMINATING FUNCTION
[value:final-states] Values at end of function main2:
NON TERMINATING FUNCTION
[value:final-states] Values at end of function main3:
NON TERMINATING FUNCTION
[value:final-states] Values at end of function main:
[from] Computing for function main1
[from] Non-terminating function main1 (no dependencies)
[from] Done for function main1
[from] Computing for function main2
[from] Non-terminating function main2 (no dependencies)
[from] Done for function main2
[from] Computing for function main3
[from] Non-terminating function main3 (no dependencies)
[from] Done for function main3
[from] Computing for function main
[from] Done for function main
[from] ====== DEPENDENCIES COMPUTED ======
These dependencies hold at termination for the executions that terminate:
[from] Function main1:
NON TERMINATING - NO EFFECTS
[from] Function main2:
NON TERMINATING - NO EFFECTS
[from] Function main3:
NON TERMINATING - NO EFFECTS
[from] Function main:
NO EFFECTS
[from] ====== END OF DEPENDENCIES ======
[inout] Out (internal) for function main1:
\nothing
[inout] Inputs for function main1:
x
[inout] Out (internal) for function main2:
p
[inout] Inputs for function main2:
\nothing
[inout] Out (internal) for function main3:
p
[inout] Inputs for function main3:
s
[inout] Out (internal) for function main:
\nothing
[inout] Inputs for function main:
x; s
|