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.
@dmiller-nmap Modified the source such that it checks for the exception right before it executes the command
add message box for handling error while creating file. Fixes #639
Both @Varunram and @sundhar010 have decent solutions. I'll be applying a combination of both and crediting both of you in the changelog:
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.
Zenmap: catch error when no temp directory is found. Fixes #639. Closes
#640. Closes #641