[Mesa-dev] Truncated extensions string
Kenneth Graunke
kenneth at whitecape.org
Sat Mar 12 01:22:36 PST 2011
On Friday, March 11, 2011 01:23:12 PM Patrick Baggett wrote:
> I feel like there is some kind of underlying lesson that we, OpenGL app
> programmers, should be getting out of this...
Yes. Don't blindly copy abitrary amounts of data into a fixed size buffer. :)
I hate to be trite, but that -is- the entire problem: a classic buffer overflow,
the kind we warn people about in early programming courses. As Ian pointed
out, it's absolutely trivial to do this correctly: if you're going to copy it,
just malloc a buffer that's the correct size.
In particular, glGetString says nothing about the length of the returned
string, so you can't safely assume that it will fit in -any- fixed size buffer.
> What about a psuedo-database of app -> extension list rather than by year?
> Surely Quake3 doesn't make use of but <= 10 extensions. I'd imagine the
> same holds true for other old games as well. A simple "strings" on their
> binary could figure that out...
Brian is right here. We already have two very simple solutions...let's stick
with one of those.
More information about the mesa-dev
mailing list