Skip to content
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

LGitCommitBuilder>>commit_create:repo:update_ref:author:committer:mes… #32

Merged
merged 2 commits into from Jun 15, 2020

Conversation

akgrant43
Copy link

@akgrant43 akgrant43 commented Jan 30, 2020

…sage_encoding:message:tree:parent_count:parents: parent_count

parent_count is currently defined as an int, which is signed 32 bits.

As documented at https://libgit2.org/libgit2/#HEAD/group/commit/git_commit_create it is actually a size_t, which is unsigned 64 bits on a 64 bit platform.

In Squeak FFI this doesn't seem to matter, presumably it zero outs the top half when transferred as a 64 bit value, however Threaded FFI doesn't appear to do this. The result is that git commits will regularly crash the VM when using Threaded FFI.

Modify the function signature to use size_t.

Fixes: pharo-project/pharo#5592

…sage_encoding:message:tree:parent_count:parents: parent_count

parent_count is currently defined as an int, which is signed 32 bits.

As documented at https://libgit2.org/libgit2/#HEAD/group/commit/git_commit_create it is actually a size_t, which is unsigned 64 bits on a 64 bit platform.

In Squeak FFI this doesn't seem to matter, presumably it zero outs the top half when transferred as a 64 bit value, however Threaded FFI doesn't appear to do this.  The result is that git commits will occasionally crash the VM when using Threaded FFI.

Modify the function signature to use size_t.

Fixes: pharo-project/pharo#5592
@guillep
Copy link
Member

guillep commented Jun 15, 2020

Thanks Alistair!

@guillep guillep merged commit 38e7433 into pharo-vcs:master Jun 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants