Skip to content

Commit 32d495b

Browse files
Purva Yeshijarkkojs
authored andcommitted
char: tpm: tpm-buf: Add sanity check fallback in read helpers
Fix Smatch-detected issue: drivers/char/tpm/tpm-buf.c:208 tpm_buf_read_u8() error: uninitialized symbol 'value'. drivers/char/tpm/tpm-buf.c:225 tpm_buf_read_u16() error: uninitialized symbol 'value'. drivers/char/tpm/tpm-buf.c:242 tpm_buf_read_u32() error: uninitialized symbol 'value'. Zero-initialize the return values in tpm_buf_read_u8(), tpm_buf_read_u16(), and tpm_buf_read_u32() to guard against uninitialized data in case of a boundary overflow. Add defensive initialization ensures the return values are always defined, preventing undefined behavior if the unexpected happens. Signed-off-by: Purva Yeshi <[email protected]> Reviewed-by: Stefano Garzarella <[email protected]> Reviewed-by: Jarkko Sakkinen <[email protected]> Signed-off-by: Jarkko Sakkinen <[email protected]>
1 parent 539fbab commit 32d495b

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

drivers/char/tpm/tpm-buf.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ static void tpm_buf_read(struct tpm_buf *buf, off_t *offset, size_t count, void
201201
*/
202202
u8 tpm_buf_read_u8(struct tpm_buf *buf, off_t *offset)
203203
{
204-
u8 value;
204+
u8 value = 0;
205205

206206
tpm_buf_read(buf, offset, sizeof(value), &value);
207207

@@ -218,7 +218,7 @@ EXPORT_SYMBOL_GPL(tpm_buf_read_u8);
218218
*/
219219
u16 tpm_buf_read_u16(struct tpm_buf *buf, off_t *offset)
220220
{
221-
u16 value;
221+
u16 value = 0;
222222

223223
tpm_buf_read(buf, offset, sizeof(value), &value);
224224

@@ -235,7 +235,7 @@ EXPORT_SYMBOL_GPL(tpm_buf_read_u16);
235235
*/
236236
u32 tpm_buf_read_u32(struct tpm_buf *buf, off_t *offset)
237237
{
238-
u32 value;
238+
u32 value = 0;
239239

240240
tpm_buf_read(buf, offset, sizeof(value), &value);
241241

0 commit comments

Comments
 (0)