From: Philippe Proulx Date: Wed, 26 Aug 2015 05:05:13 +0000 (-0400) Subject: Fix: lay out names in exclusion structure correctly X-Git-Tag: v2.8.0-rc1~234 X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=caafa356e8d01136385864c5e74b85387fa2bf71 Fix: lay out names in exclusion structure correctly This: char names[0][LTTNG_SYMBOL_NAME_LEN]; means that accessing ->names[0][i] will return the i-th character of the first name. So doing: lttng enable-event -u -a --exclude hello,a,b,c,d lttng save would result in a saved session XML file containing this: hello ello llo lo o This is great art, but not what is expected. Signed-off-by: Philippe Proulx Signed-off-by: Jérémie Galarneau --- diff --git a/src/bin/lttng-sessiond/save.c b/src/bin/lttng-sessiond/save.c index cc7bfe1e0..065fb3f02 100644 --- a/src/bin/lttng-sessiond/save.c +++ b/src/bin/lttng-sessiond/save.c @@ -674,7 +674,7 @@ int save_ust_event(struct config_writer *writer, for (i = 0; i < event->exclusion->count; i++) { ret = config_writer_write_element_string(writer, config_element_exclusion, - &event->exclusion->names[0][i]); + &event->exclusion->names[i][0]); if (ret) { ret = LTTNG_ERR_SAVE_IO_FAIL; goto end; diff --git a/src/common/sessiond-comm/sessiond-comm.h b/src/common/sessiond-comm/sessiond-comm.h index 67d1bcfaf..1e0ee5d45 100644 --- a/src/common/sessiond-comm/sessiond-comm.h +++ b/src/common/sessiond-comm/sessiond-comm.h @@ -333,7 +333,7 @@ struct lttng_filter_bytecode { struct lttng_event_exclusion { uint32_t count; char padding[LTTNG_EVENT_EXCLUSION_PADDING]; - char names[LTTNG_SYMBOL_NAME_LEN][0]; + char names[0][LTTNG_SYMBOL_NAME_LEN]; } LTTNG_PACKED; /*