Skip to content

Fix stack overflow when running on Linux #156

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

Merged
merged 1 commit into from
Jun 13, 2017

Conversation

grendello
Copy link
Contributor

Java.Interop native code is built with -std=c99 which, on Linux,
makes the strdup(3) and realpath(3) functions undeclared (they're not
part of the C99 standard). This posesa problem since both of them
return pointers and the assumed return value for an undeclared
function is an int - when running on a 64-bit system the "integer"
is cast to a pointer so that the high 32-bits of the resulting value
are set to 1 thus creating an invalid pointer.

This commit makes sure both functions are declared.

The commit also removes call to gettid which does not have a
wrapper in glibc and should be called directly using syscall(2)

Java.Interop native code is built with `-std=c99` which, on Linux,
makes the `strdup(3)` and `realpath(3)` functions undeclared (they're not
part of the C99 standard). This posesa problem since both of them
return pointers and the assumed return value for an undeclared
function is an `int` - when running on a 64-bit system the "integer"
is cast to a pointer so that the high 32-bits of the resulting value
are set to 1 thus creating an invalid pointer.

This commit makes sure both functions are declared.

The commit also removes call to `gettid` which does not have a
wrapper in glibc and should be called directly using `syscall(2)`
@jonpryor jonpryor merged commit 824a00e into dotnet:master Jun 13, 2017
@grendello grendello deleted the linux-build-fix branch June 13, 2017 20:18
jonpryor added a commit to jonpryor/java.interop that referenced this pull request Mar 14, 2022
Context: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1397171
Context: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1433453

Changes: http://github.com/xamarin/xamarin-android-tools/compare/34e98e2b65917d105169f868b5648f67e68b6784...f4c44e2ac2d91396226f31e8c200464ecc65f648

  * dotnet/android-tools@f4c44e2: [Xamarin.Android.Tools.AndroidSdk] Attributes can be null! (dotnet#158)
  * dotnet/android-tools@f0b3abd: Revert "[Xamarin.Android.Tools.AndroidSdk] Update SDK component for API-32 (dotnet#156)"
  * dotnet/android-tools@bbe85df: [Xamarin.Android.Tools.AndroidSdk] Update SDK component for API-32 (dotnet#156)
  * dotnet/android-tools@a7f4d30: [ci] Mention new NuGet feed and release (dotnet#153)
  * dotnet/android-tools@85ae77f: Merge pull request dotnet#152 from xamarin/dev/mattnorflus/SigningMigration
  * dotnet/android-tools@dd34e54: Adding condition to GetFilesToSign to only include files if build configuration is Release
  * dotnet/android-tools@0e80ea1: Bump LibZipSharp to 2.0.3 (dotnet#151)
  * dotnet/android-tools@d0ab6ac: Fix Typo in commit 0dcf7172 (dotnet#150)
  * dotnet/android-tools@0dcf717: Bump LibZipSharp to 2.0.2 (dotnet#149)
  * dotnet/android-tools@db125a7: [build] Add d17-* as a branch trigger
  * dotnet/android-tools@f2cbc6a: Add resource dlls to MicroBuild signing. (dotnet#145)
  * dotnet/android-tools@35c89dd: Update MaximumCompatibleNDKMajorVersion to be 23 (dotnet#144)
  * dotnet/android-tools@0a22957: [Xamarin.Android.Tools.AndroidSdk] Parse Properties after header (dotnet#143)
  * dotnet/android-tools@dac3a47: [Xamarin.Android.Tools.AndroidSdk] Add API-31 to KnownVersions (dotnet#141)
  * dotnet/android-tools@fc976d8: [Xamarin.Android.Tools.AndroidSdk] Add JdkInfo.GetSupportedJdkInfos() (dotnet#142)
jonpryor added a commit that referenced this pull request Mar 14, 2022
Context: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1397171
Context: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1433453

Changes: http://github.com/xamarin/xamarin-android-tools/compare/34e98e2b65917d105169f868b5648f67e68b6784...f4c44e2ac2d91396226f31e8c200464ecc65f648

  * dotnet/android-tools@f4c44e2: [Xamarin.Android.Tools.AndroidSdk] Attributes can be null! (#158)
  * dotnet/android-tools@f0b3abd: Revert "[Xamarin.Android.Tools.AndroidSdk] Update SDK component for API-32 (#156)"
  * dotnet/android-tools@bbe85df: [Xamarin.Android.Tools.AndroidSdk] Update SDK component for API-32 (#156)
  * dotnet/android-tools@a7f4d30: [ci] Mention new NuGet feed and release (#153)
  * dotnet/android-tools@85ae77f: Merge pull request #152 from xamarin/dev/mattnorflus/SigningMigration
  * dotnet/android-tools@dd34e54: Adding condition to GetFilesToSign to only include files if build configuration is Release
  * dotnet/android-tools@0e80ea1: Bump LibZipSharp to 2.0.3 (#151)
  * dotnet/android-tools@d0ab6ac: Fix Typo in commit 0dcf7172 (#150)
  * dotnet/android-tools@0dcf717: Bump LibZipSharp to 2.0.2 (#149)
  * dotnet/android-tools@db125a7: [build] Add d17-* as a branch trigger
  * dotnet/android-tools@f2cbc6a: Add resource dlls to MicroBuild signing. (#145)
  * dotnet/android-tools@35c89dd: Update MaximumCompatibleNDKMajorVersion to be 23 (#144)
  * dotnet/android-tools@0a22957: [Xamarin.Android.Tools.AndroidSdk] Parse Properties after header (#143)
  * dotnet/android-tools@dac3a47: [Xamarin.Android.Tools.AndroidSdk] Add API-31 to KnownVersions (#141)
  * dotnet/android-tools@fc976d8: [Xamarin.Android.Tools.AndroidSdk] Add JdkInfo.GetSupportedJdkInfos() (#142)
@github-actions github-actions bot locked and limited conversation to collaborators Apr 15, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants