[GRASS-dev] [GRASS GIS] #1833: R_command_history() memory leak

GRASS GIS trac at osgeo.org
Tue Dec 11 13:26:05 PST 2012


#1833: R_command_history() memory leak
---------------------------+------------------------------------------------
 Reporter:  jniesterowicz  |       Owner:  grass-dev@…              
     Type:  defect         |      Status:  new                      
 Priority:  normal         |   Milestone:  7.0.0                    
Component:  LibRaster      |     Version:  svn-trunk                
 Keywords:  history        |    Platform:  Linux                    
      Cpu:  Unspecified    |  
---------------------------+------------------------------------------------

Comment(by glynn):

 Replying to [ticket:1833 jniesterowicz]:

 > Function Rast_command_history() causes a memory leak of 1024 bytes + the
 size of command line.
 >
 > 1024 bytes are allocated in Rast_recreate_command() and is no freed
 later.

 Fixed in r54265.

 > The rest of the leak comes from Rast_append_history(). This memory is
 not freed later as well.

 It's freed by calling Rast_free_history() once you no longer need the
 history (which is typically after it has been written). Most modules write
 the history shortly before terminating, so there's seldom any reason to
 explicitly free the memory.

 I suppose that this could theoretically be an issue for modules which
 create an arbitrary number of output maps. In practice, it's irrelevant,
 although specific cases (i.e. modules which use O(n) storage for history
 when they could reasonably use O(1) storage) will probably be dealt with
 as they are reported.

-- 
Ticket URL: <http://trac.osgeo.org/grass/ticket/1833#comment:1>
GRASS GIS <http://grass.osgeo.org>



More information about the grass-dev mailing list