• Nickolai Zeldovich's avatar
    net/xfrm/xfrm_replay: avoid division by zero · e2f67259
    Nickolai Zeldovich authored
    All of the xfrm_replay->advance functions in xfrm_replay.c check if
    x->replay_esn->replay_window is zero (and return if so).  However,
    one of them, xfrm_replay_advance_bmp(), divides by that value (in the
    '%' operator) before doing the check, which can potentially trigger
    a divide-by-zero exception.  Some compilers will also assume that the
    earlier division means the value cannot be zero later, and thus will
    eliminate the subsequent zero check as dead code.
    
    This patch moves the division to after the check.
    Signed-off-by: default avatarNickolai Zeldovich <nickolai@csail.mit.edu>
    Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
    e2f67259
xfrm_replay.c 12.6 KB