cvs commit: src/sys/dev/pci pci_user.c
Tom Rhodes
trhodes at FreeBSD.org
Mon Oct 13 08:01:10 PDT 2003
On Sat, 11 Oct 2003 15:20:35 -0700 (PDT)
Stefan Esser <se at freebsd.org> wrote:
> se 2003/10/11 15:20:35 PDT
>
> FreeBSD src repository
>
> Modified files:
> sys/dev/pci pci_user.c
> Log:
> The code that was meant to test alignment of the register offset
> parameter in the read and write case dereferenced an unitialized
> pointer and can't possibly ever have catched an actual invalid
> argument.
>
> This was apparently true for the read/write and getconf cases. The
> latter does not even receive the paramter that is to be verified.
>
> I'm surprised that this did not cause kernel panics, but it seems
> that the uninitialized local variable happens to contain data that
> may be used as a pointer to memory that satisfies the test condition.
>
> Make the code work as intended by moving the test inside the switch
> case where the pointer has been properly initialized.
>
> Since the read and write case shared just about all code (except
> for the single call to PCIB_READ_CONFIG resp. PCIB_WRITE_CONFIG) I
> have merged both cases.
>
> Noticed by: trhodes at FreeBSD.org (Tom Rhodes)
Thank you!!
--
Tom Rhodes
More information about the cvs-src
mailing list