2016-12-26 13:32:21

by Nicolas Iooss

[permalink] [raw]
Subject: [PATCH 1/1] [media] v4l: rcar_fdp1: use %4.4s to format a 4-byte string

Using %4s to format f->fmt.pix_mp.pixelformat in fdp1_try_fmt() and
fdp1_s_fmt() may lead to more characters being printed (when the byte
following field pixelformat is not zero).

Add ".4" to the format specifier to limit the number of printed
characters to four. The resulting format specifier "%4.4s" is also used
by other media drivers to print pixelformat value.

Signed-off-by: Nicolas Iooss <[email protected]>
---
drivers/media/platform/rcar_fdp1.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/rcar_fdp1.c b/drivers/media/platform/rcar_fdp1.c
index 674cc1309b43..42f25d241edd 100644
--- a/drivers/media/platform/rcar_fdp1.c
+++ b/drivers/media/platform/rcar_fdp1.c
@@ -1596,7 +1596,7 @@ static int fdp1_try_fmt(struct file *file, void *priv, struct v4l2_format *f)
else
fdp1_try_fmt_capture(ctx, NULL, &f->fmt.pix_mp);

- dprintk(ctx->fdp1, "Try %s format: %4s (0x%08x) %ux%u field %u\n",
+ dprintk(ctx->fdp1, "Try %s format: %4.4s (0x%08x) %ux%u field %u\n",
V4L2_TYPE_IS_OUTPUT(f->type) ? "output" : "capture",
(char *)&f->fmt.pix_mp.pixelformat, f->fmt.pix_mp.pixelformat,
f->fmt.pix_mp.width, f->fmt.pix_mp.height, f->fmt.pix_mp.field);
@@ -1671,7 +1671,7 @@ static int fdp1_s_fmt(struct file *file, void *priv, struct v4l2_format *f)

fdp1_set_format(ctx, &f->fmt.pix_mp, f->type);

- dprintk(ctx->fdp1, "Set %s format: %4s (0x%08x) %ux%u field %u\n",
+ dprintk(ctx->fdp1, "Set %s format: %4.4s (0x%08x) %ux%u field %u\n",
V4L2_TYPE_IS_OUTPUT(f->type) ? "output" : "capture",
(char *)&f->fmt.pix_mp.pixelformat, f->fmt.pix_mp.pixelformat,
f->fmt.pix_mp.width, f->fmt.pix_mp.height, f->fmt.pix_mp.field);
--
2.11.0


2016-12-28 09:47:20

by Kieran Bingham

[permalink] [raw]
Subject: Re: [PATCH 1/1] [media] v4l: rcar_fdp1: use %4.4s to format a 4-byte string

Hi Nicolas,

Thankyou for the patch

This looks like a good catch,

On 26/12/16 13:31, Nicolas Iooss wrote:
> Using %4s to format f->fmt.pix_mp.pixelformat in fdp1_try_fmt() and
> fdp1_s_fmt() may lead to more characters being printed (when the byte
> following field pixelformat is not zero).
>
> Add ".4" to the format specifier to limit the number of printed
> characters to four. The resulting format specifier "%4.4s" is also used
> by other media drivers to print pixelformat value.
>
> Signed-off-by: Nicolas Iooss <[email protected]>

Reviewed-by: Kieran Bingham <[email protected]>

> ---
> drivers/media/platform/rcar_fdp1.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/platform/rcar_fdp1.c b/drivers/media/platform/rcar_fdp1.c
> index 674cc1309b43..42f25d241edd 100644
> --- a/drivers/media/platform/rcar_fdp1.c
> +++ b/drivers/media/platform/rcar_fdp1.c
> @@ -1596,7 +1596,7 @@ static int fdp1_try_fmt(struct file *file, void *priv, struct v4l2_format *f)
> else
> fdp1_try_fmt_capture(ctx, NULL, &f->fmt.pix_mp);
>
> - dprintk(ctx->fdp1, "Try %s format: %4s (0x%08x) %ux%u field %u\n",
> + dprintk(ctx->fdp1, "Try %s format: %4.4s (0x%08x) %ux%u field %u\n",
> V4L2_TYPE_IS_OUTPUT(f->type) ? "output" : "capture",
> (char *)&f->fmt.pix_mp.pixelformat, f->fmt.pix_mp.pixelformat,
> f->fmt.pix_mp.width, f->fmt.pix_mp.height, f->fmt.pix_mp.field);
> @@ -1671,7 +1671,7 @@ static int fdp1_s_fmt(struct file *file, void *priv, struct v4l2_format *f)
>
> fdp1_set_format(ctx, &f->fmt.pix_mp, f->type);
>
> - dprintk(ctx->fdp1, "Set %s format: %4s (0x%08x) %ux%u field %u\n",
> + dprintk(ctx->fdp1, "Set %s format: %4.4s (0x%08x) %ux%u field %u\n",
> V4L2_TYPE_IS_OUTPUT(f->type) ? "output" : "capture",
> (char *)&f->fmt.pix_mp.pixelformat, f->fmt.pix_mp.pixelformat,
> f->fmt.pix_mp.width, f->fmt.pix_mp.height, f->fmt.pix_mp.field);
>

--
Regards

Kieran Bingham