From 6a4151baa8231cdaf746761fd8dc4aacb895c9e5 Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Sun, 11 Mar 2018 10:30:30 +0100 Subject: ipcpd: Add validity checks for eth-dix This will check if the Ethertype value is a valid Ethertype in the irm tool and the eth-dix IPCPd. Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- src/ipcpd/eth/eth.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/ipcpd/eth') diff --git a/src/ipcpd/eth/eth.c b/src/ipcpd/eth/eth.c index 9bbadf91..90143d2f 100644 --- a/src/ipcpd/eth/eth.c +++ b/src/ipcpd/eth/eth.c @@ -1106,6 +1106,10 @@ static int eth_ipcp_bootstrap(const struct ipcp_config * conf) memcpy(ifr.ifr_name, conf->dev, strlen(conf->dev)); #ifdef BUILD_ETH_DIX + if (conf->ethertype < 0x0600 || conf->ethertype == 0xFFFF) { + log_err("Invalid Ethertype."); + return -1; + } eth_data.ethertype = htons(conf->ethertype); #endif -- cgit v1.2.3