Skip to content
  • Miquel Raynal's avatar
    tpm: sandbox: fix wrong check on pcr_map · fd973ca6
    Miquel Raynal authored and Tom Rini's avatar Tom Rini committed
    
    
    The second check on pcr_map in sandbox_tpm2_xfer() is wrong. It should
    check for pcr_map not being empty. Instead, it is a pure copy/paste of
    the first check which is redundant.
    
    This has been found thanks to a Coverity Scan report:
    
        CID 183370:  Memory - illegal accesses  (UNINIT)
        Using uninitialized value "pcr_index".
            put_unaligned_be32(tpm->pcr_extensions[pcr_index], recv);
    
    This is because pcr_index is initialized only if the user input is
    correct, ie. at least one valid bit is set in pcr_map.
    
    Fix the second check and also initialize pcr_index to 0 (which is
    harmless in case of error) to make Coverity Scan happy.
    
    Reported-by: default avatarTom Rini <trini@konsulko.com>
    Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
    Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
    fd973ca6