DF-0577 / fix.diff
diff --git a/sys/net/sl/if_sl.c b/sys/net/sl/if_sl.c --- a/sys/net/sl/if_sl.c +++ b/sys/net/sl/if_sl.c @@ -395,7 +395,7 @@ break; case SLIOCSKEEPAL: - sc->sc_keepalive = *(u_int *)data * hz; + sc->sc_keepalive = (*(u_int *)data > 10000 ? 10000 : *(u_int *)data) * hz; if (sc->sc_keepalive) { sc->sc_flags |= SC_KEEPALIVE; callout_reset(&sc->sc_katimeout, sc->sc_keepalive, @@ -413,7 +413,7 @@ break; case SLIOCSOUTFILL: - sc->sc_outfill = *(u_int *)data * hz; + sc->sc_outfill = (*(u_int *)data > 10000 ? 10000 : *(u_int *)data) * hz; if (sc->sc_outfill) { sc->sc_flags |= SC_OUTWAIT; callout_reset(&sc->sc_oftimeout, sc->sc_outfill, |