Fix a few null pointer dereferences
This commit is contained in:
parent
e96611cccd
commit
24cbff9a9f
@ -405,7 +405,7 @@ dc_irda_read (dc_irda_t *device, void *data, size_t size, size_t *actual)
|
||||
|
||||
if (device == NULL) {
|
||||
status = DC_STATUS_INVALIDARGS;
|
||||
goto out;
|
||||
goto out_invalidargs;
|
||||
}
|
||||
|
||||
struct timeval tv;
|
||||
@ -449,6 +449,7 @@ dc_irda_read (dc_irda_t *device, void *data, size_t size, size_t *actual)
|
||||
out:
|
||||
HEXDUMP (device->context, DC_LOGLEVEL_INFO, "Read", (unsigned char *) data, nbytes);
|
||||
|
||||
out_invalidargs:
|
||||
if (actual)
|
||||
*actual = nbytes;
|
||||
|
||||
@ -463,7 +464,7 @@ dc_irda_write (dc_irda_t *device, const void *data, size_t size, size_t *actual)
|
||||
|
||||
if (device == NULL) {
|
||||
status = DC_STATUS_INVALIDARGS;
|
||||
goto out;
|
||||
goto out_invalidargs;
|
||||
}
|
||||
|
||||
while (nbytes < size) {
|
||||
@ -485,6 +486,7 @@ dc_irda_write (dc_irda_t *device, const void *data, size_t size, size_t *actual)
|
||||
out:
|
||||
HEXDUMP (device->context, DC_LOGLEVEL_INFO, "Write", (unsigned char *) data, nbytes);
|
||||
|
||||
out_invalidargs:
|
||||
if (actual)
|
||||
*actual = nbytes;
|
||||
|
||||
|
||||
@ -570,7 +570,7 @@ dc_serial_read (dc_serial_t *device, void *data, size_t size, size_t *actual)
|
||||
|
||||
if (device == NULL) {
|
||||
status = DC_STATUS_INVALIDARGS;
|
||||
goto out;
|
||||
goto out_invalidargs;
|
||||
}
|
||||
|
||||
// The total timeout.
|
||||
@ -647,6 +647,7 @@ dc_serial_read (dc_serial_t *device, void *data, size_t size, size_t *actual)
|
||||
out:
|
||||
HEXDUMP (device->context, DC_LOGLEVEL_INFO, "Read", (unsigned char *) data, nbytes);
|
||||
|
||||
out_invalidargs:
|
||||
if (actual)
|
||||
*actual = nbytes;
|
||||
|
||||
@ -661,7 +662,7 @@ dc_serial_write (dc_serial_t *device, const void *data, size_t size, size_t *act
|
||||
|
||||
if (device == NULL) {
|
||||
status = DC_STATUS_INVALIDARGS;
|
||||
goto out;
|
||||
goto out_invalidargs;
|
||||
}
|
||||
|
||||
struct timeval tve, tvb;
|
||||
@ -754,6 +755,7 @@ dc_serial_write (dc_serial_t *device, const void *data, size_t size, size_t *act
|
||||
out:
|
||||
HEXDUMP (device->context, DC_LOGLEVEL_INFO, "Write", (unsigned char *) data, nbytes);
|
||||
|
||||
out_invalidargs:
|
||||
if (actual)
|
||||
*actual = nbytes;
|
||||
|
||||
|
||||
@ -414,7 +414,7 @@ dc_serial_read (dc_serial_t *device, void *data, size_t size, size_t *actual)
|
||||
|
||||
if (device == NULL) {
|
||||
status = DC_STATUS_INVALIDARGS;
|
||||
goto out;
|
||||
goto out_invalidargs;
|
||||
}
|
||||
|
||||
if (!ReadFile (device->hFile, data, size, &dwRead, NULL)) {
|
||||
@ -431,6 +431,7 @@ dc_serial_read (dc_serial_t *device, void *data, size_t size, size_t *actual)
|
||||
out:
|
||||
HEXDUMP (device->context, DC_LOGLEVEL_INFO, "Read", (unsigned char *) data, dwRead);
|
||||
|
||||
out_invalidargs:
|
||||
if (actual)
|
||||
*actual = dwRead;
|
||||
|
||||
@ -445,7 +446,7 @@ dc_serial_write (dc_serial_t *device, const void *data, size_t size, size_t *act
|
||||
|
||||
if (device == NULL) {
|
||||
status = DC_STATUS_INVALIDARGS;
|
||||
goto out;
|
||||
goto out_invalidargs;
|
||||
}
|
||||
|
||||
LARGE_INTEGER begin, end, freq;
|
||||
@ -501,6 +502,7 @@ dc_serial_write (dc_serial_t *device, const void *data, size_t size, size_t *act
|
||||
out:
|
||||
HEXDUMP (device->context, DC_LOGLEVEL_INFO, "Write", (unsigned char *) data, dwWritten);
|
||||
|
||||
out_invalidargs:
|
||||
if (actual)
|
||||
*actual = dwWritten;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user