diff options
author | Toby Gray <toby.gray@realvnc.com> | 2012-11-26 13:25:05 +0000 |
---|---|---|
committer | Pete Batard <pete@akeo.ie> | 2012-11-26 22:25:47 +0000 |
commit | ce75e9af3f9242ec328b0dc2336b69ff24287a3c (patch) | |
tree | 2bedbd6b4283e877f61e773ccfca1b2a621dffcc | |
parent | 21cf6e4748c20644c259d6f4271d2ca67d2e42e8 (diff) | |
download | libusb-ce75e9af3f9242ec328b0dc2336b69ff24287a3c.tar.gz |
Core: Fix incorrect reference counting of default context when first created.
* See http://libusbx.1081486.n5.nabble.com/Libusbx-devel-stress-program-crashes-in-libusb-exit-NULL-tp474p477.html
-rw-r--r-- | libusb/core.c | 5 | ||||
-rw-r--r-- | libusb/version_nano.h | 2 |
2 files changed, 2 insertions, 5 deletions
diff --git a/libusb/core.c b/libusb/core.c index 07b0b04..729bce3 100644 --- a/libusb/core.c +++ b/libusb/core.c @@ -1655,6 +1655,7 @@ int API_EXPORTED libusb_init(libusb_context **context) /* default context should be initialized before calling usbi_dbg */ if (!usbi_default_context) { usbi_default_context = ctx; + default_context_refcnt++; usbi_dbg("created default context"); } @@ -1681,10 +1682,6 @@ int API_EXPORTED libusb_init(libusb_context **context) if (context) { *context = ctx; - } else if (!usbi_default_context) { - usbi_dbg("created default context"); - usbi_default_context = ctx; - default_context_refcnt++; } usbi_mutex_static_unlock(&default_context_lock); diff --git a/libusb/version_nano.h b/libusb/version_nano.h index ef6b500..27680c6 100644 --- a/libusb/version_nano.h +++ b/libusb/version_nano.h @@ -1 +1 @@ -#define LIBUSB_NANO 10589 +#define LIBUSB_NANO 10590 |