projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
iolog: regrow logs in iolog_delay()
[fio.git]
/
gclient.c
diff --git
a/gclient.c
b/gclient.c
index c59bcfe2f6f3c501bfedb0fa0de3140490f7b25f..73f64b3b87f1fde00317dcd65e0aa9884a07d02f 100644
(file)
--- a/
gclient.c
+++ b/
gclient.c
@@
-553,12
+553,15
@@
static void gfio_quit_op(struct fio_client *client, struct fio_net_cmd *cmd)
}
static struct thread_options *gfio_client_add_job(struct gfio_client *gc,
}
static struct thread_options *gfio_client_add_job(struct gfio_client *gc,
- struct thread_options_pack *top)
+ struct thread_options_pack *top
, size_t top_sz
)
{
struct gfio_client_options *gco;
gco = calloc(1, sizeof(*gco));
{
struct gfio_client_options *gco;
gco = calloc(1, sizeof(*gco));
- convert_thread_options_to_cpu(&gco->o, top);
+ if (convert_thread_options_to_cpu(&gco->o, top, top_sz)) {
+ dprint(FD_NET, "client: failed parsing add_job command\n");
+ return NULL;
+ }
INIT_FLIST_HEAD(&gco->list);
flist_add_tail(&gco->list, &gc->o_list);
gc->o_list_nr = 1;
INIT_FLIST_HEAD(&gco->list);
flist_add_tail(&gco->list, &gc->o_list);
gc->o_list_nr = 1;
@@
-577,7
+580,10
@@
static void gfio_add_job_op(struct fio_client *client, struct fio_net_cmd *cmd)
p->thread_number = le32_to_cpu(p->thread_number);
p->groupid = le32_to_cpu(p->groupid);
p->thread_number = le32_to_cpu(p->thread_number);
p->groupid = le32_to_cpu(p->groupid);
- o = gfio_client_add_job(gc, &p->top);
+ o = gfio_client_add_job(gc, &p->top,
+ cmd->pdu_len - offsetof(struct cmd_add_job_pdu, top));
+ if (o == NULL)
+ return;
gdk_threads_enter();
gdk_threads_enter();