s5p-jpeg: don't return a random width/height 96/189696/1
authorMauro Carvalho Chehab <mchehab@s-opensource.com>
Thu, 18 May 2017 13:40:00 +0000 (10:40 -0300)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Thu, 20 Sep 2018 02:49:21 +0000 (11:49 +0900)
Gcc 7.1 complains about:

drivers/media/platform/s5p-jpeg/jpeg-core.c: In function 's5p_jpeg_parse_hdr.isra.9':
drivers/media/platform/s5p-jpeg/jpeg-core.c:1207:12: warning: 'width' may be used uninitialized in this function [-Wmaybe-uninitialized]
  result->w = width;
  ~~~~~~~~~~^~~~~~~
drivers/media/platform/s5p-jpeg/jpeg-core.c:1208:12: warning: 'height' may be used uninitialized in this function [-Wmaybe-uninitialized]
  result->h = height;
  ~~~~~~~~~~^~~~~~~~

Indeed the code would allow it to return a random value (although
it shouldn't happen, in practice). So, explicitly set both to zero,
just in case.

Acked-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
[sw0312.kim: backport from mainline to fix gcc 7 build issue]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: If9d86efffa587c7fcab4b9683e52717d7ed1c887

drivers/media/platform/s5p-jpeg/jpeg-core.c

index bcec69f2eab5b298a00f4fb7432eafcd1e8a0c9e..49f359185fe662c493ba35696024bdfec64d5979 100644 (file)
@@ -1101,10 +1101,10 @@ static bool s5p_jpeg_parse_hdr(struct s5p_jpeg_q_data *result,
                               struct s5p_jpeg_ctx *ctx)
 {
        int c, components = 0, notfound, n_dht = 0, n_dqt = 0;
-       unsigned int height, width, word, subsampling = 0, sos = 0, sof = 0,
-                    sof_len = 0;
-       unsigned int dht[S5P_JPEG_MAX_MARKER], dht_len[S5P_JPEG_MAX_MARKER],
-                    dqt[S5P_JPEG_MAX_MARKER], dqt_len[S5P_JPEG_MAX_MARKER];
+       unsigned int height = 0, width = 0, word, subsampling = 0;
+       unsigned int sos = 0, sof = 0, sof_len = 0;
+       unsigned int dht[S5P_JPEG_MAX_MARKER], dht_len[S5P_JPEG_MAX_MARKER];
+       unsigned int dqt[S5P_JPEG_MAX_MARKER], dqt_len[S5P_JPEG_MAX_MARKER];
        long length;
        struct s5p_jpeg_buffer jpeg_buffer;