]> git.proxmox.com Git - grub2.git/blob - tests/grub_script_break.in
usb: Avoid possible out-of-bound accesses caused by malicious devices
[grub2.git] / tests / grub_script_break.in
1 #! @builddir@/grub-shell-tester
2 #
3 # Copyright (C) 2010 Free Software Foundation, Inc.
4 #
5 # GRUB is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
9 #
10 # GRUB is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with GRUB. If not, see <http://www.gnu.org/licenses/>.
17
18 # break without any arguments
19 for i in 1 2 3 4 5 6 7 8 9 10
20 do
21 echo $i
22 if test "$i" = 5
23 then
24 break
25 fi
26 done
27
28 # break with one
29 for i in 1 2 3 4 5 6 7 8 9 10
30 do
31 echo $i
32 if test "$i" = 5
33 then
34 break 1
35 fi
36 done
37
38 # break with loop count
39 for i in 1 2 3 4 5
40 do
41 for j in a b c d e f
42 do
43 echo "$i $j"
44 if test "$i" = 3
45 then
46 if test "$j" = d
47 then
48 break 2
49 fi
50 fi
51 done
52 done
53
54 # break into middle loop
55 for i in 1 2 3 4 5
56 do
57 for j in a b c d e f
58 do
59 echo "$i $j"
60 if test "$i" = 3
61 then
62 if test "$j" = d
63 then
64 break 1
65 fi
66 fi
67 done
68 done
69
70 # while and until loops
71 a=
72 while test "$a" != "aaaaaaa"
73 do
74 a="a$a"
75 for i in 1 2 3 4
76 do
77 b=
78 until test "$b" = "bbbbb"
79 do
80 b="b$b"
81 echo "$a $i $b"
82 if test "$i" = 3; then echo "break 2"; break 2; fi
83 done
84 done
85 done
86