diff options
| -rw-r--r-- | drivers/char/tpm/tpm.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c index caf8012ef47c..1fe979335835 100644 --- a/drivers/char/tpm/tpm.c +++ b/drivers/char/tpm/tpm.c | |||
| @@ -383,6 +383,9 @@ static ssize_t tpm_transmit(struct tpm_chip *chip, const char *buf, | |||
| 383 | u32 count, ordinal; | 383 | u32 count, ordinal; |
| 384 | unsigned long stop; | 384 | unsigned long stop; |
| 385 | 385 | ||
| 386 | if (bufsiz > TPM_BUFSIZE) | ||
| 387 | bufsiz = TPM_BUFSIZE; | ||
| 388 | |||
| 386 | count = be32_to_cpu(*((__be32 *) (buf + 2))); | 389 | count = be32_to_cpu(*((__be32 *) (buf + 2))); |
| 387 | ordinal = be32_to_cpu(*((__be32 *) (buf + 6))); | 390 | ordinal = be32_to_cpu(*((__be32 *) (buf + 6))); |
| 388 | if (count == 0) | 391 | if (count == 0) |
