Skip to content

Commit

Permalink
Merge pull request openhab#1578 from druciak/zwave-meter_cmd_changes
Browse files Browse the repository at this point in the history
Z-Wave: Proper handling of corrupted METER message
  • Loading branch information
cdjackson committed Oct 22, 2014
2 parents 129056d + 4abe467 commit 39ada5c
Showing 1 changed file with 6 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,12 @@ public void handleApplicationCommandRequest(SerialMessage serialMessage, int off
logger.trace("Process Meter Report");
logger.debug(String.format("Meter report from nodeId = %d", this.getNode().getNodeId()));

if(serialMessage.getMessagePayload().length < offset+3) {
logger.error("NODE {}: Buffer too short: length={}, required={}", this.getNode().getNodeId(),
serialMessage.getMessagePayload().length, offset+3);
return;
}

meterTypeIndex = serialMessage.getMessagePayloadByte(offset + 1) & 0x1F;
if (meterTypeIndex >= MeterType.values().length) {
logger.warn(String.format("Invalid meter type 0x%02X", meterTypeIndex));
Expand Down

0 comments on commit 39ada5c

Please sign in to comment.