Sébastien reports:
A crash on solaris & windows (at least) when using fio-2.1.6.1 :
A simple profile that use a env variable : directory=${DIRECTORY}
I'm starting fio without defining DIRECTORY and I'm getting a crash:
The stack on solaris is :
core 'core' of 4574: ./fio ../fio_env.win
0000000100035348 set_name_idx (
ffffffff7fffe970,
100231950, 0, 16c4e8, 0,
1002319b0) + cc
0000000100021a70 add_file (
ffffffff7b400000,
ffffffff7fffee60, 0, 0,
100071c30,
ffffffff7fffe970) + 38
000000010000daf4 add_job.part.4 (7,
100236050, 0,
ffffffff7ffff268, 1, 0) + 11f0
000000010000f444 parse_jobs_ini (0, 0, 0, 1,
100236050,
1002276c0) + 77c
0000000100010db0 parse_options (5118,
ffffffff7ffff968, 1, 0, 0,
10021eef0) + 304
000000010006ff68 main (2,
ffffffff7ffff968,
ffffffff7ffff980,
100228338,
100000000, 2800) + 20
000000010000952c _start (0, 0, 0, 0, 0, 0) + 7c
Same thing happens with filename and other store options. Fix this
by checking in the parser whether the string is empty or not.
Reported-by: Sébastien Bouchex Bellomié <sbouchex@infovista.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
case FIO_OPT_STR_STORE: {
fio_opt_str_fn *fn = o->cb;
+ if (!strlen(ptr))
+ return 1;
+
if (o->off1) {
cp = td_var(data, o, o->off1);
*cp = strdup(ptr);