This is an automated email from the ASF dual-hosted git repository. cdutz pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
The following commit(s) were added to refs/heads/master by this push: new 9b35217 - Fixed the decoding of read var responses 9b35217 is described below commit 9b35217439d18177041049a7578c3fec1f717cca Author: Christofer Dutz <christofer.d...@c-ware.de> AuthorDate: Fri Jan 26 11:18:23 2018 +0100 - Fixed the decoding of read var responses --- .../java/org/apache/plc4x/java/s7/netty/S7Protocol.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/S7Protocol.java b/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/S7Protocol.java index db2d598..e42013b 100644 --- a/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/S7Protocol.java +++ b/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/S7Protocol.java @@ -320,9 +320,12 @@ public class S7Protocol extends MessageToMessageCodec<IsoTPMessage, S7Message> { return null; case READ_VAR: case WRITE_VAR: - List<VarParameterItem> varParamameter = null; - if (isResponse) { - varParamameter = parseReadWriteVarParameter(in); + List<VarParameterItem> varParamameter; + byte numItems = in.readByte(); + if (!isResponse) { + varParamameter = parseReadWriteVarParameter(in, numItems); + } else { + varParamameter = Collections.emptyList(); } return new VarParameter(parameterType, varParamameter); case SETUP_COMMUNICATION: @@ -340,10 +343,8 @@ public class S7Protocol extends MessageToMessageCodec<IsoTPMessage, S7Message> { return null; } - private List<VarParameterItem> parseReadWriteVarParameter(ByteBuf in) { + private List<VarParameterItem> parseReadWriteVarParameter(ByteBuf in, byte numItems) { List<VarParameterItem> items = new LinkedList<>(); - byte numItems = in.readByte(); - for (int i = 0; i < numItems; i++) { SpecificationType specificationType = SpecificationType.valueOf(in.readByte()); // Length of the rest of this item. -- To stop receiving notification emails like this one, please contact cd...@apache.org.