Browse Source

ASoC: fsl: use strncpy() to prevent copying of over-long names

Use strncpy() instead of strcpy(). That's not a security issue, as the
source buffer is taken from DT nodes, but we should still enforce bound
checks. Spotted by Coverity.

Signed-off-by: Daniel Mack <daniel@zonque.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Daniel Mack 10 years ago
parent
commit
6aa256b6c6
2 changed files with 2 additions and 2 deletions
  1. 1 1
      sound/soc/fsl/fsl_asrc.c
  2. 1 1
      sound/soc/fsl/fsl_esai.c

+ 1 - 1
sound/soc/fsl/fsl_asrc.c

@@ -792,7 +792,7 @@ static int fsl_asrc_probe(struct platform_device *pdev)
 		return -ENOMEM;
 		return -ENOMEM;
 
 
 	asrc_priv->pdev = pdev;
 	asrc_priv->pdev = pdev;
-	strcpy(asrc_priv->name, np->name);
+	strncpy(asrc_priv->name, np->name, sizeof(asrc_priv->name) - 1);
 
 
 	/* Get the addresses and IRQ */
 	/* Get the addresses and IRQ */
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);

+ 1 - 1
sound/soc/fsl/fsl_esai.c

@@ -734,7 +734,7 @@ static int fsl_esai_probe(struct platform_device *pdev)
 		return -ENOMEM;
 		return -ENOMEM;
 
 
 	esai_priv->pdev = pdev;
 	esai_priv->pdev = pdev;
-	strcpy(esai_priv->name, np->name);
+	strncpy(esai_priv->name, np->name, sizeof(esai_priv->name) - 1);
 
 
 	/* Get the addresses and IRQ */
 	/* Get the addresses and IRQ */
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);