[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

20000214: Nmap, Nmap2 bugs



I've patched my distribution through 5.4.3w.

1) Under Solaris X86, I find that Nmap and Nmap2 both exit
   before displaying the initial window. This does not
   occur under Solaris.

The direct cause of the program exiting is that the nmap_seekw.c
call line 1003 to XtIsManaged is NULL the first time. I was able to
get past this by adding a check for _mainWin == NULL:

 * S. Law/GSC           12/99   initial coding                          *
 ***********************************************************************/
{
/*---------------------------------------------------------------------*/

    if(_mainWin == NULL) return;

    if ( XtIsManaged (_mainWin)) {
        seekw_ghostPts (FALSE);
    }
}


2) NMAP/NMAP2 crash following zoom selection, product generation popup etc.
   All frames are redrawn, but the program segmentation faults when
   returning to the main Xtapp loop.


I found in gempak/source/nmaplib/pgen/nmap_pgline.c, in the 
routine: pgline_popdown

There is a call to pgline_setTable ();

No arguments are passed to the setTable call; however, the declaration
of this routine is:
void pgline_setTable (fill, closed, color, width, size, smooth)


Apparently some compilers are more sensitive to mismatched argument lists.



3) I also found the following when profiling nmap2 trying to locate the above:

In nmap_mapw.c line 1268, the variable "iret"  may not have
a value if the switch statement directly above is not entered.
I added the autodefine for iret=G_NORMAL in the declarations.

In nmap_roamw.c, line 532, malloc should be (len+1), since
strcpy in line 533 complains about an array bounds write.

In nmap_gtbl.c, line 363,
Call to qsort with 1 item occurs, this can be avoided
by just returning if nprods < 2. 



Steve Chiswell
Unidata User Support
address@hidden