diff options
-rw-r--r-- | sys/contrib/dev/hptmv/ioctl.c | 6 | ||||
-rw-r--r-- | sys/dev/hptmv/ioctl.c | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/sys/contrib/dev/hptmv/ioctl.c b/sys/contrib/dev/hptmv/ioctl.c index 2e220cb..2cfe979 100644 --- a/sys/contrib/dev/hptmv/ioctl.c +++ b/sys/contrib/dev/hptmv/ioctl.c @@ -781,7 +781,11 @@ retry_cmd: result = pCmd->Result; FreeCommand(_VBUS_P pCmd); - if (buffer) free(buffer, M_DEVBUF); + if (buffer) { + free(buffer, M_DEVBUF); + /* beware of goto retry_cmd below */ + buffer = NULL; + } KdPrintI(("cmd finished %d", result)); switch(result) diff --git a/sys/dev/hptmv/ioctl.c b/sys/dev/hptmv/ioctl.c index 2e220cb..2cfe979 100644 --- a/sys/dev/hptmv/ioctl.c +++ b/sys/dev/hptmv/ioctl.c @@ -781,7 +781,11 @@ retry_cmd: result = pCmd->Result; FreeCommand(_VBUS_P pCmd); - if (buffer) free(buffer, M_DEVBUF); + if (buffer) { + free(buffer, M_DEVBUF); + /* beware of goto retry_cmd below */ + buffer = NULL; + } KdPrintI(("cmd finished %d", result)); switch(result) |