aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn/gigaset
diff options
context:
space:
mode:
authorTilman Schmidt <tilman@imap.cc>2014-10-11 07:46:29 -0400
committerDavid S. Miller <davem@davemloft.net>2014-10-14 15:05:33 -0400
commitee7ff5fed25711a26da7826071e6ede8af049ad2 (patch)
treeb3335735c602a3dc1ac1ec1b5dbb580225c30f90 /drivers/isdn/gigaset
parent1bdc07ebabefd19b56d1d36584a401ff6085fa71 (diff)
isdn/gigaset: make sure controller name is null terminated
In gigaset_isdn_regdev, the name field may not have a null terminator if the source string's length is equal to the buffer size. Fix by zero filling the structure and excluding the last byte of the name field from the copy. Spotted with Coverity. Signed-off-by: Tilman Schmidt <tilman@imap.cc> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/isdn/gigaset')
-rw-r--r--drivers/isdn/gigaset/capi.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/isdn/gigaset/capi.c b/drivers/isdn/gigaset/capi.c
index a2eabe97deea..044392cba262 100644
--- a/drivers/isdn/gigaset/capi.c
+++ b/drivers/isdn/gigaset/capi.c
@@ -2358,7 +2358,7 @@ int gigaset_isdn_regdev(struct cardstate *cs, const char *isdnid)
2358 struct gigaset_capi_ctr *iif; 2358 struct gigaset_capi_ctr *iif;
2359 int rc; 2359 int rc;
2360 2360
2361 iif = kmalloc(sizeof(*iif), GFP_KERNEL); 2361 iif = kzalloc(sizeof(*iif), GFP_KERNEL);
2362 if (!iif) { 2362 if (!iif) {
2363 pr_err("%s: out of memory\n", __func__); 2363 pr_err("%s: out of memory\n", __func__);
2364 return -ENOMEM; 2364 return -ENOMEM;
@@ -2367,7 +2367,7 @@ int gigaset_isdn_regdev(struct cardstate *cs, const char *isdnid)
2367 /* prepare controller structure */ 2367 /* prepare controller structure */
2368 iif->ctr.owner = THIS_MODULE; 2368 iif->ctr.owner = THIS_MODULE;
2369 iif->ctr.driverdata = cs; 2369 iif->ctr.driverdata = cs;
2370 strncpy(iif->ctr.name, isdnid, sizeof(iif->ctr.name)); 2370 strncpy(iif->ctr.name, isdnid, sizeof(iif->ctr.name) - 1);
2371 iif->ctr.driver_name = "gigaset"; 2371 iif->ctr.driver_name = "gigaset";
2372 iif->ctr.load_firmware = NULL; 2372 iif->ctr.load_firmware = NULL;
2373 iif->ctr.reset_ctr = NULL; 2373 iif->ctr.reset_ctr = NULL;