summaryrefslogtreecommitdiff
path: root/log/logd.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2017-11-06 11:34:31 +0100
committerFelix Fietkau <nbd@nbd.name>2017-11-06 11:34:31 +0100
commitea3d7fa21f55a39ce55d8e91058c944f5e5d9c6b (patch)
tree8bb42e2a47cfeb4b2c3d729e2d543d15235f68bd /log/logd.c
parent4a10d4e02897be37a517bc6e016e9d722086765e (diff)
downloadubox-ea3d7fa21f55a39ce55d8e91058c944f5e5d9c6b.tar.gz
logd: enforce line length limit for ubus based log messages as well
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'log/logd.c')
-rw-r--r--log/logd.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/log/logd.c b/log/logd.c
index ee30984..9931723 100644
--- a/log/logd.c
+++ b/log/logd.c
@@ -167,10 +167,18 @@ write_log(struct ubus_context *ctx, struct ubus_object *obj,
char *event;
if (msg) {
+ int len;
+
blobmsg_parse(&write_policy, 1, &tb, blob_data(msg), blob_len(msg));
if (tb) {
event = blobmsg_get_string(tb);
- log_add(event, strlen(event) + 1, SOURCE_SYSLOG);
+ len = strlen(event) + 1;
+ if (len > LOG_LINE_SIZE) {
+ len = LOG_LINE_SIZE;
+ event[len - 1] = 0;
+ }
+
+ log_add(event, len, SOURCE_SYSLOG);
}
}