Merge pull request #2088 from reaperhulk/nc-vectors

add more basic name constraints vector
diff --git a/.travis.yml b/.travis.yml
index 76decf6..8ad514f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -120,7 +120,7 @@
     - ./.travis/run.sh
 
 after_success:
-    - source ~/.venv/bin/activate && coveralls
+    - source ~/.venv/bin/activate && bash <(curl -s https://codecov.io/bash) -e TRAVIS_OS_NAME,TOXENV,OPENSSL
 
 notifications:
     irc:
diff --git a/.travis/install.sh b/.travis/install.sh
index a046a5d..17aee43 100755
--- a/.travis/install.sh
+++ b/.travis/install.sh
@@ -65,4 +65,4 @@
 
 python -m virtualenv ~/.venv
 source ~/.venv/bin/activate
-pip install tox coveralls
+pip install tox codecov
diff --git a/README.rst b/README.rst
index 98e8d17..949826e 100644
--- a/README.rst
+++ b/README.rst
@@ -12,8 +12,8 @@
 .. image:: https://travis-ci.org/pyca/cryptography.svg?branch=master
     :target: https://travis-ci.org/pyca/cryptography
 
-.. image:: https://img.shields.io/coveralls/pyca/cryptography/master.svg
-    :target: https://coveralls.io/r/pyca/cryptography?branch=master
+.. image:: https://codecov.io/github/pyca/cryptography/coverage.svg?branch=master
+    :target: https://codecov.io/github/pyca/cryptography?branch=master
 
 
 ``cryptography`` is a package which provides cryptographic recipes and
diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py
index 18faecb..88a17de 100644
--- a/src/cryptography/hazmat/backends/openssl/backend.py
+++ b/src/cryptography/hazmat/backends/openssl/backend.py
@@ -119,6 +119,9 @@
     obj = _txt2obj(backend, x509.OID_BASIC_CONSTRAINTS.dotted_string)
     assert obj is not None
     constraints = backend._lib.BASIC_CONSTRAINTS_new()
+    constraints = backend._ffi.gc(
+        constraints, backend._lib.BASIC_CONSTRAINTS_free
+    )
     constraints.ca = 255 if basic_constraints.ca else 0
     if basic_constraints.ca:
         constraints.pathlen = _encode_asn1_int(