diff options
| author | Philip Paeps <philip@FreeBSD.org> | 2008-11-17 07:09:40 +0000 |
|---|---|---|
| committer | Philip Paeps <philip@FreeBSD.org> | 2008-11-17 07:09:40 +0000 |
| commit | 6cfbfdb6f99698b866954599b23003f5e3863bc5 (patch) | |
| tree | 4c9958447ae01c4591812d7722d8e10937548efe /sys/dev/glxsb | |
| parent | a7de0b74a7f29b259f3a44d15b18ba2f64e06bec (diff) | |
Notes
Diffstat (limited to 'sys/dev/glxsb')
| -rw-r--r-- | sys/dev/glxsb/glxsb.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/dev/glxsb/glxsb.c b/sys/dev/glxsb/glxsb.c index c521cf5984c7..1af3439bf3ad 100644 --- a/sys/dev/glxsb/glxsb.c +++ b/sys/dev/glxsb/glxsb.c @@ -358,7 +358,8 @@ glxsb_detach(device_t dev) return (EBUSY); } } - while ((ses = TAILQ_FIRST(&sc->sc_sessions)) != NULL) { + while (!TAILQ_EMPTY(&sc->sc_sessions)) { + ses = TAILQ_FIRST(&sc->sc_sessions); TAILQ_REMOVE(&sc->sc_sessions, ses, ses_next); free(ses, M_GLXSB); } @@ -867,8 +868,11 @@ glxsb_crypto_process(device_t dev, struct cryptop *crp, int hint) enccrd = maccrd = NULL; - if (crp == NULL || - crp->crp_callback == NULL || crp->crp_desc == NULL) { + /* Sanity check. */ + if (crp == NULL) + return (EINVAL); + + if (crp->crp_callback == NULL || crp->crp_desc == NULL) { error = EINVAL; goto fail; } |
