summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@gnumonks.org>2014-02-20 12:18:13 +0100
committerPablo Neira Ayuso <pablo@gnumonks.org>2014-02-20 12:49:35 +0100
commit20d702b90e6088fd707978dd27274ebe004a01a8 (patch)
treefad43e10929e7ea922d67dd96d79342cefe2166c
parentd123a0c0f57348422832c915b82a15d79b2a0c5b (diff)
gtp: ensure sufficient room for the header in gtp0_udp_encap_recv
-rw-r--r--gtp.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gtp.c b/gtp.c
index 6a1feee..06a1ed6 100644
--- a/gtp.c
+++ b/gtp.c
@@ -227,6 +227,10 @@ static int gtp0_udp_encap_recv(struct gtp_instance *gti, struct sk_buff *skb)
pr_info("gtp0 udp received\n");
+ /* check for sufficient header size */
+ if (!pskb_may_pull(skb, sizeof(*gtp0)))
+ return -1;
+
gtp0 = (struct gtp0_header *)skb->data;
/* check for GTP Version 0 */