We've gotten a few reports like this one where Zenmap crashes because it can't create a temp file to hold Nmap's output when scanning. We should try to avoid any unhandled exceptions like this, so we should probably check very early in the execution process to determine whether a temp file can be created (with mktemp). If it cannot, then we should disable scanning; Zenmap can still be used to view existing Nmap XML files, and even to create Nmap command lines. The only action to take would be to notify the user with a message box and to disable the Scan button, or link it to a different action that reminds the user that scanning is disabled because no suitable temp directory was found.
The text was updated successfully, but these errors were encountered:
Both @Varunram and @sundhar010 have decent solutions. I'll be applying a combination of both and crediting both of you in the changelog:
@Varunram's solution (#640) came first, and the message box accurately describes what is being tested.
@sundhar010's solution (#641) catches more potential problems without adding extra execution steps, but the message box only describes one potential problem.
I will add the try-catch around the actual execution and report the error directly to the user. This will resolve the crash, catch more potential errors than just the tempfile issue, and allow Zenmap to continue without crashing.