-
-
Notifications
You must be signed in to change notification settings - Fork 382
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
init_repository crash on None input #688
Comments
Forgot to add: pygit2/libgit2 version 0.25.0 (latest) |
This does sound like a pygit2 bug where it's likely converting |
Maybe it can be checked on both levels: libgit2 can return non-zero error code but pygit2 can check argument in advance and raise nice TypeError instead of "something_wrong_on_c_level". That's just a suggestion from personal experience. |
0.26.0 (2017-07-06) ------------------------- - Update to libgit2 v0.26 `#713 <https://github.com/libgit2/pygit2/pull/713>`_ - Drop support for Python 3.2, add support for cffi 1.10 `#706 <https://github.com/libgit2/pygit2/pull/706>`_ `#694 <https://github.com/libgit2/pygit2/issues/694>`_ - New ``Repository.revert_commit(...)`` `#711 <https://github.com/libgit2/pygit2/pull/711>`_ `#710 <https://github.com/libgit2/pygit2/issues/710>`_ - New ``Branch.is_checked_out()`` `#696 <https://github.com/libgit2/pygit2/pull/696>`_ - Various fixes `#706 <https://github.com/libgit2/pygit2/pull/706>`_ `#707 <https://github.com/libgit2/pygit2/pull/707>`_ `#708 <https://github.com/libgit2/pygit2/pull/708>`_ 0.25.1 (2017-04-25) ------------------------- - Add suport for Python 3.6 - New support for stash: repository methods ``stash``, ``stash_apply``, ``stash_drop`` and ``stash_pop`` `#695 <https://github.com/libgit2/pygit2/pull/695>`_ - Improved support for submodules: new repository methods ``init_submodules`` and ``update_submodules`` `#692 <https://github.com/libgit2/pygit2/pull/692>`_ - New friendlier API for branches & references: ``Repository.branches`` and ``Repository.references`` `#700 <https://github.com/libgit2/pygit2/pull/700>`_ `#701 <https://github.com/libgit2/pygit2/pull/701>`_ - New support for custom backends `#690 <https://github.com/libgit2/pygit2/pull/690>`_ - Fix ``init_repository`` crash on None input `#688 <https://github.com/libgit2/pygit2/issues/688>`_ `#697 <https://github.com/libgit2/pygit2/pull/697>`_ - Fix checkout with an orphan master branch `#669 <https://github.com/libgit2/pygit2/issues/669>`_ `#685 <https://github.com/libgit2/pygit2/pull/685>`_ - Better error messages for opening repositories `#645 <https://github.com/libgit2/pygit2/issues/645>`_ `#698 <https://github.com/libgit2/pygit2/pull/698>`_
Hi! Not sure if I should post this here or in libgit2.
Caught the segfault testing my pygit2 integration.
Very simple to reproduce:
Result (Ubuntu 14.04):
Segmentation fault (core dumped)
Debugger says that crash occurs in inside libgit2 in some strlen call. Looks like None is converted to NULL (by cffi?), which is unexpected by git_repository_init_ext.
For now I've added type check in my code, but segfaults aren't really expected in python. Mb add TypeError in python layer?
The text was updated successfully, but these errors were encountered: