fix: prevent division by zero in intHandler when no events received
@MarioHewardt がすでに取り組んでいます。
2026年4月4日 から。
評価
この issue はまだ評価されていません。
説明
Summary
Fix a potential division by zero crash in the intHandler signal
handler when Sysmon is stopped before processing any events
(totalEvents == 0).
Problem
In intHandler(), the following line:
printf("Total events: %ld, bad events: %ld, ratio = %f\n",
totalEvents, badEvents, (double)badEvents / totalEvents);
...will produce a division by zero (resulting in NaN or crash) if
Sysmon is interrupted immediately after startup before any eBPF
events are received.
Fix
Guard the division with a ternary check:
(double)badEvents / totalEvents
→
totalEvents > 0 ? (double)badEvents / totalEvents : 0.0
Testing
- Start Sysmon and immediately send SIGINT (Ctrl+C)
- Confirm clean output showing ratio = 0.000000 instead of crash/NaN
Notes
- No functional change to normal operation
- Zero risk of regression
- Fixes undefined behavior per C standard (integer division by zero)
- 主要言語
- C
- スター
- 2.2k
- フォーク
- 220
- 平均マージ
- 11日 22時間
- マージ済み PR(30日)
- 2
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/SysmonForLinux のほかの issue
-
microsoft/SysmonForLinux#238 · 担当者 1 名 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
microsoft/SysmonForLinux#233 ·
-
microsoft/SysmonForLinux#226 · 担当者 1 名 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
microsoft/SysmonForLinux#220 · リアクション 2 件 ·
-
microsoft/SysmonForLinux#219 · コメント 1 件 · 担当者 1 名 ·
microsoft/SysmonForLinux の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
duckdb/duckdb-wasm#2258 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
rofl0r/microsocks#110 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
espressif/esp-aws-iot#261 ·
-
os:linux
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
mpv-player/mpv#18510 · コメント 2 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100