]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
TPM: get_event_name stack corruption
authorEric Paris <eparis@redhat.com>
Wed, 13 May 2009 16:50:40 +0000 (12:50 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 12 Jun 2009 03:01:08 +0000 (20:01 -0700)
commit01683de16233af7676146083f644c823ac5f246d
tree20e0164c2f6d90d0565aa8094b4520c9493368b2
parent218cadbd4ce2a81d417b6f7b5eb5d5460f221fec
TPM: get_event_name stack corruption

commit fbaa58696cef848de818768783ef185bd3f05158 upstream.

get_event_name uses sprintf to fill a buffer declared on the stack.  It fills
the buffer 2 bytes at a time.  What the code doesn't take into account is that
sprintf(buf, "%02x", data) actually writes 3 bytes.  2 bytes for the data and
then it nul terminates the string.  Since we declare buf to be 40 characters
long and then we write 40 bytes of data into buf sprintf is going to write 41
characters.  The fix is to leave room in buf for the nul terminator.

Signed-off-by: Eric Paris <eparis@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/char/tpm/tpm_bios.c