[gdal-dev] Notes on gdalbuildvrt.cpp

Nicu Tofan nicu.tofan at gmail.com
Thu Aug 21 12:29:28 PDT 2014


> That shouldn't happen because of the return at line 453....
Damn, I missed that. :)

> Hungarian-style convention....
Yes, I've read RFC8 <https://trac.osgeo.org/gdal/wiki/rfc8_devguide>; just
thinking out loud.




2014-08-21 22:21 GMT+03:00 Even Rouault <even.rouault at spatialys.com>:

> Le jeudi 21 août 2014 21:13:15, Nicu Tofan a écrit :
> > Hello Even,
> >
> >
> >    - VRTBuilder::pasDatasetProperties line 237
> >
> > DatasetProperty* psDatasetProperties
> >
> > This is a variable allocated on the stack; on function entry it contains
> a
> > pointer somewhere inside pasDatasetProperties; Say pasDatasetProperties
> is
> > 0x7500000 and psDatasetProperties is
> > 0x7500100. Now on line pasDatasetProperties the buffer at 0x7500000gets
> > reallocated, possibly moving to, say, 0x90000000;
> psDatasetPropertiesshould
> > now be 0x90000100 but it is still 0x7500100 because it is stored in a
> > variable on the stack - namelly the argument psDatasetPropertie.
> >
> > On line 457 psDatasetPropertie is used and is going to contain 0x750010.
> It
> > may not trigger an access violation because the address will probably be
> > inside the heap but it may generate some hard to find bugs that we all
> love
> > and cherish.
>
> That shouldn't happen because of the return at line 453. But for clarity we
> might have a dedicated function for the processing done between line 412
> and
> 454 since it doesn't need psDatasetProperties at all.
>
> >
> > As a reflection of mine, this may be the result of the naming convention,
> > as psDataset and pasDataset look the same to our animal brains.
>
> Hungarian-style convention.
>
> psXXXX is a Pointer to a single Structure
> pasXXXXX is a Pointer to an Array of Structure
>
> >
> >
> >
> >    - Generally this is a sign of non georeferenced images...
> >
> > The bounding box becomes a bit more complicated in rotated images, too.
> I'm
> > gonna look into it.
>
> Dealing with non-zero values in gt[2] and gt[4] is clearly out of scope of
> what a regular VRT can do (you need a warped VRT for that).
> Well you could still produce a regular VRT (with a rotated geotransform) if
> all the sources have the same rotation in their geotransform, but that's an
> unlikely situation.
>
> >
> >
> >
> >    - GDALProxyPoolDatasetH
> >
> > Got it, thanks!
> >
> > Regards,
> > Nick
> >
> > PS Forgot to reply to the list, sorry.
>
> --
> Spatialys - Geospatial professional services
> http://www.spatialys.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20140821/af11e945/attachment.html>


More information about the gdal-dev mailing list