From 859fbb7246cda18c3c97272fea47da479dca6bf0 Mon Sep 17 00:00:00 2001 From: Samuel Ortiz Date: Mon, 11 Oct 2010 01:17:56 +0200 Subject: [PATCH] --- yaml --- r: 215131 b: refs/heads/master c: efc463eb508798da4243625b08c7396462cabf9f h: refs/heads/master i: 215129: 99d7ce29628448bc0a81dc175f662c54634d0cc1 215127: 397a71a5c20a0e793a8caf8e4d7f5c2e317a2f9e v: v3 --- [refs] | 2 +- trunk/net/irda/parameters.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index fd258fd835cd..62d556874d13 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3b06dbbeadb6488cd00999b61b080bb6f0218503 +refs/heads/master: efc463eb508798da4243625b08c7396462cabf9f diff --git a/trunk/net/irda/parameters.c b/trunk/net/irda/parameters.c index fc1a20565e2d..71cd38c1a67f 100644 --- a/trunk/net/irda/parameters.c +++ b/trunk/net/irda/parameters.c @@ -298,6 +298,8 @@ static int irda_extract_string(void *self, __u8 *buf, int len, __u8 pi, p.pi = pi; /* In case handler needs to know */ p.pl = buf[1]; /* Extract length of value */ + if (p.pl > 32) + p.pl = 32; IRDA_DEBUG(2, "%s(), pi=%#x, pl=%d\n", __func__, p.pi, p.pl); @@ -318,7 +320,7 @@ static int irda_extract_string(void *self, __u8 *buf, int len, __u8 pi, (__u8) str[0], (__u8) str[1]); /* Null terminate string */ - str[p.pl+1] = '\0'; + str[p.pl] = '\0'; p.pv.c = str; /* Handler will need to take a copy */