diff options
author | jolsa@redhat.com <jolsa@redhat.com> | 2011-10-21 11:10:40 +0200 |
---|---|---|
committer | Jiri Olsa <Jiri Olsa jolsa@redhat.com> | 2011-11-24 21:20:27 +0100 |
commit | 27b90e3d32a6c311fca017f55d0fb8e2a1bd451e (patch) | |
tree | 3d374c2cb0f6b81ec98c15b322377f799f876d07 /src/audit-init.c | |
parent | bf775c23afef014f9e11796741786e032d0ec374 (diff) | |
download | latrace-27b90e3d32a6c311fca017f55d0fb8e2a1bd451e.tar.gz latrace-27b90e3d32a6c311fca017f55d0fb8e2a1bd451e.tar.xz latrace-27b90e3d32a6c311fca017f55d0fb8e2a1bd451e.zip |
error simulation: automation library part
Diffstat (limited to 'src/audit-init.c')
-rw-r--r-- | src/audit-init.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/audit-init.c b/src/audit-init.c index 092bb0c..0324508 100644 --- a/src/audit-init.c +++ b/src/audit-init.c @@ -70,7 +70,7 @@ static int init_ctl_config(char *file) static int read_config(char *dir) { int fd; - off_t len; + off_t len, extra_size = 0; char file[LT_MAXFILE]; memset(&cfg, 0, sizeof(cfg)); @@ -88,12 +88,20 @@ static int read_config(char *dir) return -1; } + cfg.sh = cfg.sh_storage.sh = &cfg.sh_storage; + + if (lt_sh(&cfg, error_sim)) { + extra_size = lt_error_config_read(&cfg, fd); + if (extra_size < 0) + return -1; + } + if (-1 == (len = lseek(fd, 0, SEEK_END))) { perror("lseek failed"); return -1; } - if (len != sizeof(cfg.sh_storage)) { + if ((len - extra_size) != sizeof(cfg.sh_storage)) { printf("config file size differs\n"); return -1; } @@ -103,8 +111,6 @@ static int read_config(char *dir) return -1; } - cfg.sh = cfg.sh_storage.sh = &cfg.sh_storage; - /* * If we are not controled, we can close the file, * since we read everything we needed. |