From 803760ca80aacab972d9b2790c838cb1b6347ad1 Mon Sep 17 00:00:00 2001 From: Oliver Jowett Date: Mon, 29 Jun 2015 00:45:33 +0100 Subject: [PATCH] Treat an all-zeros message as bad. --- mode_s.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mode_s.c b/mode_s.c index 3c50d87..6510c25 100644 --- a/mode_s.c +++ b/mode_s.c @@ -333,6 +333,7 @@ int scoreModesMessage(unsigned char *msg, int validbits) int msgtype, msgbits, crc, iid; uint32_t addr; struct errorinfo *ei; + static unsigned char all_zeros[14] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; if (validbits < 56) return -2; @@ -343,6 +344,9 @@ int scoreModesMessage(unsigned char *msg, int validbits) if (validbits < msgbits) return -2; + if (!memcmp(all_zeros, msg, msgbits/8)) + return -2; + crc = modesChecksum(msg, msgbits); switch (msgtype) {