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

SIGILL -> endless loop #1640

Open
michaelortmann opened this issue Jul 9, 2024 · 0 comments
Open

SIGILL -> endless loop #1640

michaelortmann opened this issue Jul 9, 2024 · 0 comments

Comments

@michaelortmann
Copy link
Member

michaelortmann commented Jul 9, 2024

eggdrop can run into an endless loop in its ill signal handler.

for a minimal demo, i introduced a malicious division by zero into eggdrops source dcc.c:dcc_remove_lost():for (i = 1 / 0; i < dcc_total; i++) {, compiled and run it. result:

[04:12:53] triggering bind quotepong_servermsg
[04:12:53] triggered bind quotepong_servermsg, user 0.004ms sys 0.000ms
[04:12:53] -NOTICE- *** Found your hostname: localhost
[04:12:53] * Please REPORT this BUG!
[04:12:53] * Check doc/BUG-REPORT on how to do so.
[04:12:53] * Last bind (may not be related): quotepong_servermsg
[04:12:53] * Please REPORT this BUG!
[04:12:53] * Check doc/BUG-REPORT on how to do so.
[04:12:53] * Last bind (may not be related): quotepong_servermsg
[04:12:53] * Please REPORT this BUG!
[04:12:53] * Check doc/BUG-REPORT on how to do so.
[04:12:53] * Last bind (may not be related): quotepong_servermsg
[...]

Default action for SIGILL is core dump / stack trace. Our current signal handler tries to ignore the signal. Effect is, we can no longer debug SIGILL, no stack trace, to useful information about the cause or even what happened is printed.

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