char tmp[128];
char *p1, *p2;
- strcpy(tmp, ptr);
+ strncpy(tmp, ptr, sizeof(tmp) - 1);
p1 = strchr(tmp, '-');
if (!p1) {
ret = 1;
}
- if (ret)
- fprintf(stderr, "fio: failed parsing %s=%s\n", o->name, ptr);
-
return ret;
}
return 1;
}
- return handle_option(o, val, data);
+ if (!handle_option(o, val, data))
+ return 0;
+
+ fprintf(stderr, "fio: failed parsing %s=%s\n", opt, val);
+ return 1;
}
int parse_option(const char *opt, struct fio_option *options, void *data)
char *pre, *post;
char tmp[64];
- strcpy(tmp, opt);
+ strncpy(tmp, opt, sizeof(tmp) - 1);
pre = strchr(tmp, '=');
if (pre) {
return 1;
}
- return handle_option(o, post, data);
+ if (!handle_option(o, post, data))
+ return 0;
+
+ fprintf(stderr, "fio: failed parsing %s\n", opt);
+ return 1;
}