[GRASS-dev] [GRASS GIS] #1430: Buffer overrun in vector/diglib dig__fread_port_L with big-endian negative values on LP64 systems

GRASS GIS trac at osgeo.org
Tue Aug 30 22:24:50 EDT 2011


#1430: Buffer overrun in vector/diglib dig__fread_port_L with big-endian negative
values on LP64 systems
---------------------------------------------+------------------------------
 Reporter:  rroliver                         |       Owner:  grass-dev@…              
     Type:  defect                           |      Status:  new                      
 Priority:  normal                           |   Milestone:                           
Component:  Vector                           |     Version:  svn-trunk                
 Keywords:  diglib portable LP64 big-endian  |    Platform:  Unspecified              
      Cpu:  All                              |  
---------------------------------------------+------------------------------
 The code in dig__fread_port_L is broken for handling big endian negative
 numbers on systems where sizeof(long) != PORT_LONG.

 Presently the code fails to negate the value and will write 4 bytes past
 the end of the buffer.

 Problem exists for all grass versions through to trunk...

 Patch attached (patch against 6.4.1)

-- 
Ticket URL: <http://trac.osgeo.org/grass/ticket/1430>
GRASS GIS <http://grass.osgeo.org>



More information about the grass-dev mailing list