diff options
author | Ma Shimiao <mashimiao.fnst@cn.fujitsu.com> | 2017-12-16 14:45:33 -0800 |
---|---|---|
committer | Santosh Shilimkar <santosh.shilimkar@oracle.com> | 2017-12-16 14:45:33 -0800 |
commit | aefc5818553680c50c9f6840e47c01b80edd9b3a (patch) | |
tree | 8cc3f559facca7bc331099c1d968599649240503 | |
parent | bd0fa74e7ced89580428365515f3d370cd2810d8 (diff) | |
download | linux-aefc5818553680c50c9f6840e47c01b80edd9b3a.tar.gz linux-aefc5818553680c50c9f6840e47c01b80edd9b3a.tar.bz2 linux-aefc5818553680c50c9f6840e47c01b80edd9b3a.zip |
soc: ti: fix max dup length for kstrndup
If source string longer than max, kstrndup will alloc max+1 space.
So, we should make sure the result will not over limit.
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
-rw-r--r-- | drivers/soc/ti/knav_qmss_queue.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/soc/ti/knav_qmss_queue.c b/drivers/soc/ti/knav_qmss_queue.c index 39225de9d7f1..77d6b5c03aae 100644 --- a/drivers/soc/ti/knav_qmss_queue.c +++ b/drivers/soc/ti/knav_qmss_queue.c @@ -225,7 +225,7 @@ static struct knav_queue *__knav_queue_open(struct knav_queue_inst *inst, if (!knav_queue_is_busy(inst)) { struct knav_range_info *range = inst->range; - inst->name = kstrndup(name, KNAV_NAME_SIZE, GFP_KERNEL); + inst->name = kstrndup(name, KNAV_NAME_SIZE - 1, GFP_KERNEL); if (range->ops && range->ops->open_queue) ret = range->ops->open_queue(range, inst, flags); @@ -779,7 +779,7 @@ void *knav_pool_create(const char *name, goto err; } - pool->name = kstrndup(name, KNAV_NAME_SIZE, GFP_KERNEL); + pool->name = kstrndup(name, KNAV_NAME_SIZE - 1, GFP_KERNEL); pool->kdev = kdev; pool->dev = kdev->dev; |