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

Missing parameter name leads to endless loop #33

Open
JoJoDeveloping opened this issue Jun 3, 2022 · 0 comments
Open

Missing parameter name leads to endless loop #33

JoJoDeveloping opened this issue Jun 3, 2022 · 0 comments

Comments

@JoJoDeveloping
Copy link

JoJoDeveloping commented Jun 3, 2022

Hello, the following is a simple program that, when passed to splint, makes it loop forever without returning a value.

void foo(int *, int* k) {
    *k++;
}

When saved as foo.c, splint foo.c will not finish.

A backtrace when running splint under gdb:

#0  usymtab_lookupSafeScope (k=0x0, lexlevel=lexlevel@entry=0) at usymtab.c:5058
#1  0x0000555555606394 in sRef_updateSref (s=0x55555580a2e0) at sRef.c:956
#2  0x00005555556065ad in sRef_aliasCheckSimplePred (predf=predf@entry=0x5555556046e0 <sRef_isExternallyVisibleAux>, s=s@entry=0x55555580a4b0) at sRef.c:8382
#3  0x000055555560666f in sRef_isExternallyVisible (s=s@entry=0x55555580a4b0) at sRef.c:879
#4  0x000055555564e27e in constraintList_makeFixedArrayConstraints (s=0x55555580c2a0) at constraintGeneration.c:479
#5  0x000055555564e2e9 in exprNode_generateConstraints (e=0x55555580c210) at constraintGeneration.c:144
#6  exprNode_generateConstraints (e=e@entry=0x55555580c210) at constraintGeneration.c:109
#7  0x0000555555644bc4 in exprNode_checkFunction (ue=0x55555580a040, body=body@entry=0x55555580c210) at exprChecks.c:972
#8  0x00005555555700c4 in yyparse () at cgrammar.c:4338
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

No branches or pull requests

1 participant