Просмотр исходного кода

tpm: add check for minimum buffer size in tpm_transmit()

tpm_transmit() does not check that bufsiz is at least TPM_HEADER_SIZE
before accessing data. This commit adds this check and returns -EINVAL
if it fails.

Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Jarkko Sakkinen 9 лет назад
Родитель
Сommit
ebfd7532e9
1 измененных файлов с 3 добавлено и 0 удалено
  1. 3 0
      drivers/char/tpm/tpm-interface.c

+ 3 - 0
drivers/char/tpm/tpm-interface.c

@@ -337,6 +337,9 @@ ssize_t tpm_transmit(struct tpm_chip *chip, const u8 *buf, size_t bufsiz,
 	u32 count, ordinal;
 	unsigned long stop;
 
+	if (bufsiz < TPM_HEADER_SIZE)
+		return -EINVAL;
+
 	if (bufsiz > TPM_BUFSIZE)
 		bufsiz = TPM_BUFSIZE;