[GRASS-dev] [GRASS GIS] #3006: Large attribute table causes buffer overflow in v.db.select

GRASS GIS trac at osgeo.org
Thu Apr 28 00:22:27 PDT 2016


#3006: Large attribute table causes buffer overflow in v.db.select
--------------------------+-------------------------
  Reporter:  marisn       |      Owner:  grass-dev@…
      Type:  defect       |     Status:  closed
  Priority:  normal       |  Milestone:  7.1.0
 Component:  Vector       |    Version:  svn-trunk
Resolution:  fixed        |   Keywords:  v.db.select
       CPU:  Unspecified  |   Platform:  Linux
--------------------------+-------------------------
Changes (by marisn):

 * status:  new => closed
 * resolution:   => fixed
 * component:  wxGUI => Vector


Comment:

 Sorry, Anna, I was partially wrong. After examining dbmgr.base
 !VirtualAttributeList with lots of print's, I came down to line joining
 all column names to pass them to v.db.select.
 ([https://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/dbmgr/base.py#L210
 Line 120 of dbmgr/base.py]) Thus it was causing an overflow in select
 statement of v.db.select and I could not see it from CLI, as I was running
 it without explicitly stating all columns. Once I saw exact command
 executed by wxGUI, fixing it was easy.

 I bumped up string buffer for storing query from 1024 to 4096 in r68321
 (backported to 7.0 in r68322). Should be enough for most of cases as "640k
 should be enough for everyone".

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3006#comment:4>
GRASS GIS <https://grass.osgeo.org>



More information about the grass-dev mailing list