SU2 icon indicating copy to clipboard operation
SU2 copied to clipboard

fix: five critical and moderate bugs in wall model, radiation solver, file parsing, and security

Open shbhmexe opened this issue 1 month ago • 1 comments

Summary

This PR fixes 5 bugs in SU2: 3 critical division by zero issues and 2 moderate bugs affecting stability and security.

Bugs Fixed

1. Wall Model Convergence (wall_model.cpp:312) - CRITICAL

Issue: Division by zero on first iteration when tauWall_prev=0.0 and qWall_prev=0.0.
Fix: Added ternary checks to prevent division by zero.
Impact: Prevents crashes in LES wall model simulations.

2. Wall Model Gamma (wall_model.cpp:398) - CRITICAL

Issue: exp(1.0/Gamma) causes NaN/Inf when Gamma ≈ 0 (fine meshes).
Fix: Added epsilon check (1e-20) with capped exponential.
Impact: Prevents NaN/Inf in heat flux calculations.

3. Radiation Emissivity (CRadP1Solver.cpp:286,360,434) - CRITICAL

Issue: Division by zero when Wall_Emissivity=2.0 in (2.0 - Wall_Emissivity).
Fix: Clamp emissivity to valid range [0,1].
Impact: Prevents crashes with invalid emissivity configs (3 functions fixed).

4. Restart Metadata (CSolver.cpp:3386) - MODERATE

Issue: Incorrect offset (9 vs 5) when parsing "ITER=" from restart files.
Fix: Corrected to 5 chars, resolved TODO.
Impact: Fixes iteration number reading from restart files.

5. Buffer Overflow (CPhysicalGeometry.cpp:8255,8569) - MODERATE

Issue: Unsafe strcpy() with fixed buffer fname[100].
Fix: Replaced with strncpy() + null termination.
Impact: Prevents buffer overflow with long filenames (security fix).

Testing

  • ✅ Compiles without errors
  • ✅ Git diff: 4 files, +34/-6 lines
  • ✅ Defensive checks only, no algorithmic changes
  • ✅ Backward compatible

Checklist

  • [x] Follows SU2 style guidelines
  • [x] Changes tested and verified
  • [x] No new warnings
  • [x] Functionality preserved
  • [x] DCO sign-off included

shbhmexe avatar Dec 04 '25 08:12 shbhmexe

/label bug

shbhmexe avatar Dec 04 '25 08:12 shbhmexe

Update the PR description please.

pcarruscag avatar Dec 18 '25 16:12 pcarruscag

Update the PR description please.

Sure, I’ll update the PR description right now to reflect all the changes made so far and ensure it matches the current final state.

shbhmexe avatar Dec 18 '25 16:12 shbhmexe