diff options
Diffstat (limited to 'libusb/os/poll_windows.c')
-rw-r--r-- | libusb/os/poll_windows.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libusb/os/poll_windows.c b/libusb/os/poll_windows.c index 5282e7d..c8eff81 100644 --- a/libusb/os/poll_windows.c +++ b/libusb/os/poll_windows.c @@ -71,8 +71,8 @@ static void usbi_dec_fd_table() static void smart_realloc_fd_table_space(int inc) { - if (fd_count + inc > fd_size) { - struct file_descriptor **p = (struct file_descriptor *)realloc(fd_table, (fd_size + INC_FDS_EACH) * sizeof(struct file_descriptor *)); + if (fd_table == NULL || fd_count + inc > fd_size) { + struct file_descriptor **p = (struct file_descriptor **)realloc(fd_table, (fd_size + INC_FDS_EACH) * sizeof(struct file_descriptor *)); if (p != NULL) { memset(p + fd_size, 0, INC_FDS_EACH * sizeof(struct file_descriptor *)); fd_size += INC_FDS_EACH; |