Security: fix a buffer overflow issue in gst_tensor_dimension_conversion()
authorGeunsik Lim <geunsik.lim@samsung.com>
Fri, 21 Sep 2018 04:55:28 +0000 (13:55 +0900)
committerMyungJoo Ham <myungjoo.ham@gmail.com>
Fri, 21 Sep 2018 06:27:13 +0000 (15:27 +0900)
commitdd7dae5eb78ecb3d38e9845b41dfa338e4fef034
tree7d201f7f1a84a6c0d461f7e03830c1f5ecdb02de
parentfe317bea8d631b64b0353152cabc14b32ffb041c
Security: fix a buffer overflow issue in gst_tensor_dimension_conversion()

Fixed issue https://github.com/nnsuite/nnstreamer/issues/552.

This commit is to fix a security issue that is reported by CPPCheck and SVACE tool.

**Changes proposed in this PR:**
1. Initialized in and out variable to avoid a buffer overflow issue.

* SVACE Checker:
```bash
BUFFER_OVERFLOW.PROC
Warning Message
Array 'in' of size 16 bytes passed to function 'gst_tensor_dimension_conversion' at tensor_transform.c:968
by passing as 5th parameter to function 'gst_tensor_dimension_conversion' at tensor_transform.c:1016,
where it is accessed by unacceptable index. This may lead to buffer overflow.
Trace Message
buffer overflow
┗ Shift at tensor_transform.c:968
┗ Variable '↦in[0]' is passed to function 'gst_tensor_dimension_conversion' as 5th parameter
at tensor_transform.c:1016 at tensor_transform.c:1016
```

* CPPChecker:
```bash
[gst/tensor_transform/tensor_transform.c:1007]: (error) Uninitialized variable: in
[gst/tensor_transform/tensor_transform.c:1010]: (error) Uninitialized variable: in
[gst/tensor_transform/tensor_transform.c:1018]: (error) Uninitialized variable: in
[gst/tensor_transform/tensor_transform.c:1021]: (error) Uninitialized variable: in
[gst/tensor_transform/tensor_transform.c:1010]: (error) Uninitialized variable: out
[gst/tensor_transform/tensor_transform.c:1013]: (error) Uninitialized variable: out
[gst/tensor_transform/tensor_transform.c:1015]: (error) Uninitialized variable: out
[gst/tensor_transform/tensor_transform.c:1018]: (error) Uninitialized variable: out
```

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
gst/tensor_transform/tensor_transform.c