Skip to content
This repository was archived by the owner on Sep 1, 2022. It is now read-only.

Commit bd89c66

Browse files
committed
Add segv course
1 parent f6b19ab commit bd89c66

17 files changed

+1439
-2
lines changed

.github/workflows/publish.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
master
77

88
jobs:
9-
publish-image:
9+
publish-check-queries-image:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- name: Checkout
@@ -15,4 +15,15 @@ jobs:
1515
- name: Build and Publish Query Checking Docker Image
1616
run: ./check-queries/publish.sh
1717
env:
18-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
18+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19+
publish-courses-cpp-ctf-segv:
20+
needs: publish-check-queries-image
21+
runs-on: ubuntu-latest
22+
steps:
23+
- name: Checkout
24+
uses: actions/checkout@v1
25+
26+
- name: Build and Publish Course Docker Image
27+
run: ./courses/cpp/ctf-segv/image/publish.sh
28+
env:
29+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

courses/cpp/ctf-segv/action.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
name: 'Check queries'
2+
description: 'Check that the queries that have been pushed (as part of the lesson) produce the correct results'
3+
author: 'Sam Lanning <[email protected]>'
4+
runs:
5+
using: 'docker'
6+
image: 'docker.pkg.github.com/github/codeql-learninglab-actions/courses-cpp-ctf-segv'
7+
branding:
8+
icon: 'check-circle'
9+
color: 'purple'

courses/cpp/ctf-segv/image/Dockerfile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
FROM docker.pkg.github.com/github/codeql-learninglab-actions/codeql-learninglab-check:v0.0.1
2+
3+
## Specific Course
4+
COPY --chown=codeql:codeql config /home/codeql/config
5+
WORKDIR /home/codeql/config
6+
RUN wget --quiet https://downloads.lgtm.com/snapshots/cpp/GNU/glibc/bminor_glibc_cpp-srcVersion_333221862ecbebde60dd16e7ca17d26444e62f50-dist_odasa-lgtm-2019-04-08-af06f68-linux64.zip -O snapshot.zip && unzip -qq snapshot.zip && rm -rf snapshot.zip
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
"alloca","URL for alloca","col1"
2+
"#define alloca(size) __builtin_alloca (size)","file:///opt/src/stdlib/alloca.h:35:1:35:45","alloca macro"
3+
"#define alloca __builtin_alloca","file:///opt/src/intl/dcigettext.c:31:1:31:32","alloca macro"
4+
"#define alloca __builtin_alloca","file:///opt/src/intl/localealias.c:37:1:37:32","alloca macro"
5+
"#define alloca __builtin_alloca","file:///opt/src/stdlib/gmp-impl.h:23:1:23:31","alloca macro"
6+
"#define alloca __builtin_alloca","file:///opt/src/io/ftw.c:25:1:25:32","alloca macro"

courses/cpp/ctf-segv/image/config/1.0_alloca.csv

Lines changed: 387 additions & 0 deletions
Large diffs are not rendered by default.

courses/cpp/ctf-segv/image/config/1.1_alloca_ignore_small.csv

Lines changed: 288 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
"call","URL for call","col1"
2+
"call to __libc_use_alloca","file:///opt/src/crypt/md5-crypt.c:118:11:118:27","call to __libc_use_alloca"
3+
"call to __libc_use_alloca","file:///opt/src/crypt/sha256-crypt.c:150:11:150:27","call to __libc_use_alloca"
4+
"call to __libc_use_alloca","file:///opt/src/crypt/sha256-crypt.c:247:7:247:23","call to __libc_use_alloca"
5+
"call to __libc_use_alloca","file:///opt/src/crypt/sha512-crypt.c:150:11:150:27","call to __libc_use_alloca"
6+
"call to __libc_use_alloca","file:///opt/src/crypt/sha512-crypt.c:246:7:246:23","call to __libc_use_alloca"
7+
"call to __libc_use_alloca","file:///opt/src/iconv/iconv_open.c:38:27:38:43","call to __libc_use_alloca"
8+
"call to __libc_use_alloca","file:///opt/src/iconv/iconv_open.c:53:29:53:45","call to __libc_use_alloca"
9+
"call to __libc_use_alloca","file:///opt/src/nptl/pthread_create.c:642:24:642:40","call to __libc_use_alloca"
10+
"call to __libc_use_alloca","file:///opt/src/nscd/grpcache.c:221:10:221:26","call to __libc_use_alloca"
11+
"call to __libc_use_alloca","file:///opt/src/nscd/nscd_getserv_r.c:93:20:93:36","call to __libc_use_alloca"
12+
"call to __libc_use_alloca","file:///opt/src/nscd/nscd_getserv_r.c:251:5:251:21","call to __libc_use_alloca"
13+
"call to __libc_use_alloca","file:///opt/src/nscd/nscd_netgroup.c:172:21:172:37","call to __libc_use_alloca"
14+
"call to __libc_use_alloca","file:///opt/src/posix/fnmatch_loop.c:1070:6:1070:16","call to __libc_use_alloca"
15+
"call to __libc_use_alloca","file:///opt/src/posix/fnmatch_loop.c:1077:6:1077:16","call to __libc_use_alloca"
16+
"call to __libc_use_alloca","file:///opt/src/posix/fnmatch_loop.c:1070:6:1070:16","call to __libc_use_alloca"
17+
"call to __libc_use_alloca","file:///opt/src/posix/fnmatch_loop.c:1077:6:1077:16","call to __libc_use_alloca"
18+
"call to __libc_use_alloca","file:///opt/src/posix/getopt.c:252:8:252:24","call to __libc_use_alloca"
19+
"call to __libc_use_alloca","file:///opt/src/stdio-common/fxprintf.c:46:7:46:23","call to __libc_use_alloca"
20+
"call to __libc_use_alloca","file:///opt/src/stdio-common/printf_fp.c:914:25:914:41","call to __libc_use_alloca"
21+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1967:8:1967:24","call to __libc_use_alloca"
22+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:2026:4:2026:45","call to __libc_use_alloca"
23+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:2026:4:2026:45","call to __libc_use_alloca"
24+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1480:10:1480:26","call to __libc_use_alloca"
25+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1512:8:1512:24","call to __libc_use_alloca"
26+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1588:8:1588:24","call to __libc_use_alloca"
27+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1645:4:1645:53","call to __libc_use_alloca"
28+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1645:4:1645:53","call to __libc_use_alloca"
29+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1967:8:1967:24","call to __libc_use_alloca"
30+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:2026:4:2026:45","call to __libc_use_alloca"
31+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:2026:4:2026:45","call to __libc_use_alloca"
32+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1480:10:1480:26","call to __libc_use_alloca"
33+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1512:8:1512:24","call to __libc_use_alloca"
34+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1588:8:1588:24","call to __libc_use_alloca"
35+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1645:4:1645:53","call to __libc_use_alloca"
36+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1645:4:1645:53","call to __libc_use_alloca"
37+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1967:8:1967:24","call to __libc_use_alloca"
38+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:2026:4:2026:45","call to __libc_use_alloca"
39+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1480:10:1480:26","call to __libc_use_alloca"
40+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1512:8:1512:24","call to __libc_use_alloca"
41+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1588:8:1588:24","call to __libc_use_alloca"
42+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1645:4:1645:53","call to __libc_use_alloca"
43+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1967:8:1967:24","call to __libc_use_alloca"
44+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:2026:4:2026:45","call to __libc_use_alloca"
45+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1480:10:1480:26","call to __libc_use_alloca"
46+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1512:8:1512:24","call to __libc_use_alloca"
47+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1588:8:1588:24","call to __libc_use_alloca"
48+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1645:4:1645:53","call to __libc_use_alloca"
49+
"call to __libc_use_alloca","file:///opt/src/stdlib/putenv.c:60:25:60:41","call to __libc_use_alloca"
50+
"call to __libc_use_alloca","file:///opt/src/stdlib/setenv.c:184:21:184:37","call to __libc_use_alloca"
51+
"call to __libc_use_alloca","file:///opt/src/sysdeps/posix/getaddrinfo.c:2292:5:2292:21","call to __libc_use_alloca"
52+
"call to __libc_use_alloca","file:///opt/src/sysdeps/posix/getaddrinfo.c:2292:5:2292:21","call to __libc_use_alloca"
53+
"call to __libc_use_alloca","file:///opt/src/sysdeps/unix/sysv/linux/check_native.c:91:7:91:23","call to __libc_use_alloca"
54+
"call to __libc_use_alloca","file:///opt/src/sysdeps/unix/sysv/linux/getipv4sourcefilter.c:37:20:37:36","call to __libc_use_alloca"
55+
"call to __libc_use_alloca","file:///opt/src/sysdeps/unix/sysv/linux/getsourcefilter.c:99:20:99:36","call to __libc_use_alloca"
56+
"call to __libc_use_alloca","file:///opt/src/sysdeps/unix/sysv/linux/getsysstats.c:139:30:139:46","call to __libc_use_alloca"
57+
"call to __libc_use_alloca","file:///opt/src/posix/glob.c:227:14:227:30","call to __libc_use_alloca"
58+
"call to __libc_use_alloca","file:///opt/src/sysdeps/unix/sysv/linux/ifaddrs.c:144:7:144:23","call to __libc_use_alloca"
59+
"call to __libc_use_alloca","file:///opt/src/sysdeps/unix/sysv/linux/setipv4sourcefilter.c:37:20:37:36","call to __libc_use_alloca"
60+
"call to __libc_use_alloca","file:///opt/src/sysdeps/unix/sysv/linux/setsourcefilter.c:38:20:38:36","call to __libc_use_alloca"
61+
"call to __libc_use_alloca","file:///opt/src/time/getdate.c:159:11:159:27","call to __libc_use_alloca"
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
"guard","URL for guard","col1"
2+
"call to __libc_use_alloca","file:///opt/src/crypt/md5-crypt.c:118:11:118:27","__libc_use_alloca guard"
3+
"call to __libc_use_alloca","file:///opt/src/crypt/sha256-crypt.c:150:11:150:27","__libc_use_alloca guard"
4+
"call to __libc_use_alloca","file:///opt/src/crypt/sha256-crypt.c:247:7:247:23","__libc_use_alloca guard"
5+
"call to __libc_use_alloca","file:///opt/src/crypt/sha512-crypt.c:150:11:150:27","__libc_use_alloca guard"
6+
"call to __libc_use_alloca","file:///opt/src/crypt/sha512-crypt.c:246:7:246:23","__libc_use_alloca guard"
7+
"call to __libc_use_alloca","file:///opt/src/nscd/grpcache.c:221:10:221:26","__libc_use_alloca guard"
8+
"call to __libc_use_alloca","file:///opt/src/posix/getopt.c:252:8:252:24","__libc_use_alloca guard"
9+
"call to __libc_use_alloca","file:///opt/src/stdio-common/fxprintf.c:46:7:46:23","__libc_use_alloca guard"
10+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1967:8:1967:24","__libc_use_alloca guard"
11+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:2026:4:2026:45","__libc_use_alloca guard"
12+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:2026:4:2026:45","__libc_use_alloca guard"
13+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1480:10:1480:26","__libc_use_alloca guard"
14+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1512:8:1512:24","__libc_use_alloca guard"
15+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1588:8:1588:24","__libc_use_alloca guard"
16+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1645:4:1645:53","__libc_use_alloca guard"
17+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1645:4:1645:53","__libc_use_alloca guard"
18+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1967:8:1967:24","__libc_use_alloca guard"
19+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:2026:4:2026:45","__libc_use_alloca guard"
20+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:2026:4:2026:45","__libc_use_alloca guard"
21+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1480:10:1480:26","__libc_use_alloca guard"
22+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1512:8:1512:24","__libc_use_alloca guard"
23+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1588:8:1588:24","__libc_use_alloca guard"
24+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1645:4:1645:53","__libc_use_alloca guard"
25+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1645:4:1645:53","__libc_use_alloca guard"
26+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1967:8:1967:24","__libc_use_alloca guard"
27+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:2026:4:2026:45","__libc_use_alloca guard"
28+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1480:10:1480:26","__libc_use_alloca guard"
29+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1512:8:1512:24","__libc_use_alloca guard"
30+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1588:8:1588:24","__libc_use_alloca guard"
31+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1645:4:1645:53","__libc_use_alloca guard"
32+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1967:8:1967:24","__libc_use_alloca guard"
33+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:2026:4:2026:45","__libc_use_alloca guard"
34+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1480:10:1480:26","__libc_use_alloca guard"
35+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1512:8:1512:24","__libc_use_alloca guard"
36+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1588:8:1588:24","__libc_use_alloca guard"
37+
"call to __libc_use_alloca","file:///opt/src/stdio-common/vfprintf-internal.c:1645:4:1645:53","__libc_use_alloca guard"
38+
"call to __libc_use_alloca","file:///opt/src/sysdeps/unix/sysv/linux/check_native.c:91:7:91:23","__libc_use_alloca guard"
39+
"call to __libc_use_alloca","file:///opt/src/sysdeps/unix/sysv/linux/getsysstats.c:139:30:139:46","__libc_use_alloca guard"
40+
"call to __libc_use_alloca","file:///opt/src/sysdeps/unix/sysv/linux/ifaddrs.c:144:7:144:23","__libc_use_alloca guard"
41+
"call to __libc_use_alloca","file:///opt/src/time/getdate.c:159:11:159:27","__libc_use_alloca guard"

0 commit comments

Comments
 (0)