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

push NULL on stack instead of 0; sizeof(NULL) > sizeof(0) in MinGW64,… #471

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

fdik-win
Copy link

@fdik-win fdik-win commented Feb 9, 2023

… which results in an access violation when pulling.

When compiling asn1c with MinGW64 out of MSys64 the resulting asn1c.exe crashes with an access violation while parsing. The reason is the usage of va_arg libasn1compiler/asn1c_misc.c line 72. This pulls until a null value is read.

On different occations (int) 0 is being pushed on the stack instead of (intptr_t) NULL. Because sizeof(int) < sizeof(intptr_t) with this compiler too less data is pushed onto the stack, because what is being pushed is a char *, and sizeof(char *) == sizeof(intptr_t). Hence the access violation.

This patch fixes a possible problem on all platforms, and at least on MinGW64 a real problem.

The patch is relative to v0.9.28. It would be good to see a v0.9.29 coming with this, being compatible to v0.9.28 otherwise.

… which results in an access violation when pulling
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


Volker Birk seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants