Skip to content

Commit

Permalink
Improve fuzz test
Browse files Browse the repository at this point in the history
  • Loading branch information
jobol committed Nov 2, 2023
1 parent 874ca80 commit a48b0e6
Show file tree
Hide file tree
Showing 5 changed files with 148 additions and 4 deletions.
5 changes: 5 additions & 0 deletions afl/INPUTS/t5
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
log
log on
id toto
path / default
permission urn:zarg
display
clear
log
log off
log
Expand Down
2 changes: 2 additions & 0 deletions afl/INPUTS/t6
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
sec-lsm-manager 1 2 3
sec-lsm-manager 1 2 3
2 changes: 2 additions & 0 deletions afl/INPUTS/t7
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
sec-lsm-manager 3
clear
133 changes: 133 additions & 0 deletions afl/INPUTS/t8
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
#-- ID --------------
#size

clear
id

clear
id a

clear
id aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

#invalid characters

clear
id a/b

#unrecoverable

clear
id a/b
id xx

#exists

clear
id xx
id xx

#-- PERMISSION --------------
#size

clear
permission

clear
permission a

clear
permission aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

#unrecoverable

clear
id a/b
permission urn

#duplicate

clear
permission urn
permission toto
permission tata
permission toto


#-- PATH --------------

#unrecoverable

clear
id a/b
path / default

#valid

clear
path / ourgh!

#duplicate

clear
path / default
path / default

# size

clear
path default

# exist

clear
path /dfhrufherfh default

#-- PLUG --------------

#unrecoverable
clear
id a/b
plug / toto /

#already

clear
plug / toto /tmp
plug /tmp tata /run
plug /tmp titi /var
plug / tutu /run

#valid id

clear
plug / /tmp
clear
plug / x /tmp
clear
plug / a/b /tmp

#not exist

clear
plug /torara toto /tmp
clear
plug /tmp titi /eliuhgfzierhg

#-- INSTALL --------------

#unrecoverable

clear
id a/b
install

#id required

clear
path / id
install


# vim: noai ts=3 sw=3 et list

10 changes: 6 additions & 4 deletions src/tests/slmc-test.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@
#include "protocol/client.h"
#include "protocol/pollitem.h"

#define PARANO 0 /* avoid dead code to improve coverage */

int main(int ac, const char **av)
{
const char *prog = *av;
Expand All @@ -47,18 +49,18 @@ int main(int ac, const char **av)
int rc, pfds[2], df1, st;
const char *name = strcmp(*av, "-") ? *av : "/dev/stdin";
int fd = open(name, O_RDONLY);
if (fd < 0) {
if (PARANO && fd < 0) {
fprintf(stderr, "error %s: %s\n", *av, strerror(errno));
continue;
}
df1 = dup(1);
if (df1 < 0) {
if (PARANO && df1 < 0) {
fprintf(stderr, "error can't dup: %s\n", strerror(errno));
close(fd);
continue;
}
rc = pipe(pfds);
if (rc < 0) {
if (PARANO && rc < 0) {
fprintf(stderr, "error can't pipe: %s\n", strerror(errno));
close(fd);
close(df1);
Expand All @@ -67,7 +69,7 @@ int main(int ac, const char **av)
fcntl(pfds[0], F_SETFL, O_RDONLY|O_NONBLOCK);
fcntl(pfds[1], F_SETFL, O_WRONLY|O_NONBLOCK);
rc = client_create(&client, pfds[0], df1);
if (rc < 0) {
if (PARANO && rc < 0) {
fprintf(stderr, "error can't create client: %s\n", strerror(-rc));
close(fd);
close(df1);
Expand Down

0 comments on commit a48b0e6

Please sign in to comment.