diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/diag_io.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/diag_io.c b/src/diag_io.c index f5b1d52..9309774 100644 --- a/src/diag_io.c +++ b/src/diag_io.c @@ -123,6 +123,12 @@ struct msgb *diag_read_msg(struct diag_instance *di) if (rc == HDLC_COMPLETE) { di->rx.msg = NULL; + + if (msgb_length(msg) < 3) { + msgb_free(msg); + return NULL; + } + rc = crc_check(msgb_data(msg), msgb_length(msg)); if (rc) { fprintf(stderr, "Bad CRC, dropping packet\n"); |