From 1b1bdb15752b1b30e11a63b326142d28346f84c8 Mon Sep 17 00:00:00 2001 From: Florian Pose <fp@igh-essen.com> Date: Tue, 3 Jun 2008 12:04:00 +0000 Subject: [PATCH] Check for matching data size when reading Sdo entries via sysfs. --- master/sdo_entry.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/master/sdo_entry.c b/master/sdo_entry.c index 8e80f379..ef137dfe 100644 --- a/master/sdo_entry.c +++ b/master/sdo_entry.c @@ -185,6 +185,15 @@ ssize_t ec_sdo_entry_format_data( off_t off = 0; unsigned int i; + if (request->data_size != entry->bit_length) { + EC_ERR("Dictionary size of Sdo entry 0x%04X:%02X (%u bit) does not " + "match size of uploaded data (%u byte)!\n", entry->sdo->index, + entry->subindex, entry->bit_length, request->data_size); + EC_DBG("Uploaded data:\n"); + ec_print_data(request->data, request->data_size); + return -EIO; + } + if (entry->data_type == 0x0002) { // int8 int8_t value; if (entry->bit_length != 8) -- GitLab