Makefile                                                |    9 
 common.py                                               |    2 
 configs/autoconf.in                                     |    2 
 configs/default                                         |    2 
 configure.ac                                            |   14 
 docs/README.WIN32                                       |   23 
 docs/news.html                                          |   18 
 docs/relnotes-7.5.2.html                                |   13 
 docs/relnotes-7.6.1.html                                |   70 ++
 docs/relnotes.html                                      |    1 
 include/GL/gl_mangle.h                                  |   42 +
 include/GL/glext.h                                      |  218 ++++++
 include/GL/glx_mangle.h                                 |    1 
 include/GL/glxext.h                                     |   96 ++-
 include/GL/wglext.h                                     |   45 +
 progs/.gitignore                                        |    1 
 progs/Makefile                                          |    4 
 progs/demos/fogcoord.c                                  |    2 
 progs/demos/fslight.c                                   |    1 
 progs/demos/ipers.c                                     |    2 
 progs/demos/projtex.c                                   |    3 
 progs/demos/ray.c                                       |    2 
 progs/fp/Makefile                                       |    1 
 progs/fp/fp-tri.c                                       |    2 
 progs/fp/point-position.c                               |    2 
 progs/fp/tri-depth.c                                    |    2 
 progs/fp/tri-depth2.c                                   |    2 
 progs/fp/tri-depthwrite.c                               |    2 
 progs/fp/tri-depthwrite2.c                              |    2 
 progs/fp/tri-inv.c                                      |    2 
 progs/fp/tri-param.c                                    |    2 
 progs/fp/tri-tex.c                                      |    2 
 progs/glsl/CH18-mandel.frag                             |    2 
 progs/glsl/Makefile                                     |   17 
 progs/glsl/bump.c                                       |    2 
 progs/glsl/convolutions.c                               |    2 
 progs/glsl/deriv.c                                      |    1 
 progs/glsl/multinoise.c                                 |   11 
 progs/glsl/noise.c                                      |    3 
 progs/glsl/skinning.c                                   |    3 
 progs/glsl/texaaline.c                                  |    3 
 progs/glsl/trirast.c                                    |    6 
 progs/glsl/twoside.c                                    |    3 
 progs/redbook/quadric.c                                 |    2 
 progs/samples/Makefile                                  |    2 
 progs/samples/rgbtoppm.c                                |    4 
 progs/tests/Makefile                                    |    1 
 progs/tests/SConscript                                  |    1 
 progs/tests/arraytexture.c                              |   19 
 progs/tests/blitfb.c                                    |  259 ++++++++
 progs/tests/copypixrate.c                               |    2 
 progs/tests/crossbar.c                                  |    2 
 progs/tests/drawbuffers.c                               |   17 
 progs/tests/invert.c                                    |    2 
 progs/tests/minmag.c                                    |    1 
 progs/tests/mipmap_comp.c                               |    6 
 progs/tests/prog_parameter.c                            |   20 
 progs/tests/random.c                                    |    2 
 progs/tests/shader_api.c                                |    6 
 progs/tests/stencil_twoside.c                           |    6 
 progs/tests/texcmp.c                                    |    8 
 progs/tests/texdown.c                                   |    5 
 progs/tests/vao-01.c                                    |    8 
 progs/tests/vao-02.c                                    |    8 
 progs/trivial/clear-fbo-tex.c                           |    2 
 progs/trivial/clear-fbo.c                               |    2 
 progs/trivial/clear-random.c                            |    2 
 progs/trivial/clear-scissor.c                           |    2 
 progs/trivial/clear.c                                   |    2 
 progs/trivial/createwin.c                               |    2 
 progs/trivial/dlist-begin-call-end.c                    |    2 
 progs/trivial/dlist-dangling.c                          |    2 
 progs/trivial/dlist-edgeflag-dangling.c                 |    2 
 progs/trivial/dlist-edgeflag.c                          |    2 
 progs/trivial/dlist-flat-tri.c                          |    2 
 progs/trivial/dlist-mat-tri.c                           |    2 
 progs/trivial/dlist-recursive-call.c                    |    2 
 progs/trivial/dlist-tri-flat-tri.c                      |    2 
 progs/trivial/dlist-tri-mat-tri.c                       |    2 
 progs/trivial/line-clip.c                               |    2 
 progs/trivial/line-cull.c                               |    2 
 progs/trivial/line-flat.c                               |    2 
 progs/trivial/line-stipple-wide.c                       |    2 
 progs/trivial/line-userclip-clip.c                      |    2 
 progs/trivial/line-userclip-nop-clip.c                  |    2 
 progs/trivial/line-userclip-nop.c                       |    2 
 progs/trivial/line-userclip.c                           |    2 
 progs/trivial/line-wide.c                               |    2 
 progs/trivial/line.c                                    |    2 
 progs/trivial/lineloop-clip.c                           |    2 
 progs/trivial/lineloop.c                                |    2 
 progs/trivial/linestrip-clip.c                          |    2 
 progs/trivial/linestrip-flat-stipple.c                  |    2 
 progs/trivial/linestrip-stipple-wide.c                  |    2 
 progs/trivial/linestrip-stipple.c                       |    2 
 progs/trivial/linestrip.c                               |    2 
 progs/trivial/point-clip.c                              |    2 
 progs/trivial/point-param.c                             |    2 
 progs/trivial/point-sprite.c                            |    2 
 progs/trivial/point-wide-smooth.c                       |    2 
 progs/trivial/point-wide.c                              |    2 
 progs/trivial/point.c                                   |    2 
 progs/trivial/poly-flat-clip.c                          |    2 
 progs/trivial/poly-flat-unfilled-clip.c                 |    2 
 progs/trivial/poly-flat.c                               |    2 
 progs/trivial/poly-unfilled.c                           |    2 
 progs/trivial/poly.c                                    |    2 
 progs/trivial/quad-clip-all-vertices.c                  |    2 
 progs/trivial/quad-clip.c                               |    2 
 progs/trivial/quad-degenerate.c                         |    2 
 progs/trivial/quad-flat.c                               |    2 
 progs/trivial/quad-offset-factor.c                      |    2 
 progs/trivial/quad-offset-unfilled.c                    |    2 
 progs/trivial/quad-offset-units.c                       |    2 
 progs/trivial/quad-tex-alpha.c                          |    2 
 progs/trivial/quad-tex-pbo.c                            |    2 
 progs/trivial/quad-unfilled-clip.c                      |    2 
 progs/trivial/quad-unfilled-stipple.c                   |    2 
 progs/trivial/quad-unfilled.c                           |    2 
 progs/trivial/quad.c                                    |    2 
 progs/trivial/quads.c                                   |    2 
 progs/trivial/quadstrip-cont.c                          |    2 
 progs/trivial/quadstrip-flat.c                          |    2 
 progs/trivial/quadstrip.c                               |    2 
 progs/trivial/readpixels.c                              |    2 
 progs/trivial/tri-alpha-tex.c                           |    2 
 progs/trivial/tri-alpha.c                               |    2 
 progs/trivial/tri-blend-color.c                         |    2 
 progs/trivial/tri-clear.c                               |    2 
 progs/trivial/tri-clip.c                                |    2 
 progs/trivial/tri-cull-both.c                           |    2 
 progs/trivial/tri-dlist.c                               |    2 
 progs/trivial/tri-fbo.c                                 |    2 
 progs/trivial/tri-flat-clip.c                           |    2 
 progs/trivial/tri-flat.c                                |    2 
 progs/trivial/tri-fog.c                                 |    2 
 progs/trivial/tri-fp-const-imm.c                        |    2 
 progs/trivial/tri-fp.c                                  |    2 
 progs/trivial/tri-lit-material.c                        |    2 
 progs/trivial/tri-lit.c                                 |    2 
 progs/trivial/tri-multitex-vbo.c                        |    2 
 progs/trivial/tri-orig.c                                |    2 
 progs/trivial/tri-query.c                               |    7 
 progs/trivial/tri-scissor-tri.c                         |    2 
 progs/trivial/tri-square.c                              |    2 
 progs/trivial/tri-stipple.c                             |    2 
 progs/trivial/tri-tex-3d.c                              |    2 
 progs/trivial/tri-tex.c                                 |    2 
 progs/trivial/tri-tri.c                                 |    2 
 progs/trivial/tri-unfilled-clip.c                       |    2 
 progs/trivial/tri-unfilled-edgeflag.c                   |    2 
 progs/trivial/tri-unfilled-point.c                      |    2 
 progs/trivial/tri-unfilled-smooth.c                     |    2 
 progs/trivial/tri-unfilled-tri-lit.c                    |    2 
 progs/trivial/tri-unfilled-tri.c                        |    2 
 progs/trivial/tri-unfilled-userclip-stip.c              |    2 
 progs/trivial/tri-unfilled-userclip.c                   |    2 
 progs/trivial/tri-unfilled.c                            |    2 
 progs/trivial/tri-userclip.c                            |    2 
 progs/trivial/tri-z-9.c                                 |    2 
 progs/trivial/tri-z-eq.c                                |    2 
 progs/trivial/trifan-flat-clip.c                        |    2 
 progs/trivial/trifan-flat-unfilled-clip.c               |    2 
 progs/trivial/trifan-flat.c                             |    2 
 progs/trivial/trifan-unfilled.c                         |    2 
 progs/trivial/trifan.c                                  |    2 
 progs/trivial/tristrip-clip.c                           |    2 
 progs/trivial/tristrip-flat.c                           |    2 
 progs/trivial/tristrip.c                                |    2 
 progs/trivial/vp-tri-cb-pos.c                           |    2 
 progs/trivial/vp-tri-cb-tex.c                           |    2 
 progs/trivial/vp-tri-invariant.c                        |    2 
 progs/util/readtex.c                                    |   24 
 progs/util/shaderutil.c                                 |   11 
 progs/vp/vp-tris.c                                      |    2 
 progs/vpglsl/psiz-mul.glsl                              |    2 
 progs/vpglsl/vp-tris.c                                  |   12 
 progs/xdemos/corender.c                                 |    1 
 progs/xdemos/glsync.c                                   |    2 
 progs/xdemos/glxinfo.c                                  |   21 
 progs/xdemos/offset.c                                   |    1 
 progs/xdemos/pbdemo.c                                   |   18 
 progs/xdemos/sharedtex_mt.c                             |    8 
 src/gallium/auxiliary/cso_cache/cso_context.c           |    2 
 src/gallium/auxiliary/draw/draw_pt_fetch_shade_emit.c   |    7 
 src/gallium/auxiliary/draw/draw_pt_post_vs.c            |    2 
 src/gallium/auxiliary/draw/draw_pt_vcache.c             |    2 
 src/gallium/auxiliary/draw/draw_vs_aos.c                |    6 
 src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c     |    2 
 src/gallium/auxiliary/translate/translate_generic.c     |    2 
 src/gallium/auxiliary/util/u_cpu_detect.c               |    2 
 src/gallium/auxiliary/util/u_debug_profile.c            |    2 
 src/gallium/auxiliary/util/u_debug_symbol.c             |    2 
 src/gallium/auxiliary/util/u_gen_mipmap.c               |    1 
 src/gallium/auxiliary/util/u_pack_color.h               |    5 
 src/gallium/drivers/cell/ppu/cell_gen_fp.c              |    4 
 src/gallium/drivers/r300/Makefile                       |    2 
 src/gallium/drivers/softpipe/sp_context.c               |    9 
 src/gallium/drivers/softpipe/sp_fs_sse.c                |    2 
 src/gallium/drivers/softpipe/sp_state_surface.c         |    4 
 src/gallium/drivers/softpipe/sp_tile_cache.c            |   10 
 src/gallium/state_trackers/glx/xlib/glx_api.c           |   60 +
 src/gallium/state_trackers/glx/xlib/xm_api.c            |    2 
 src/gallium/state_trackers/glx/xlib/xm_api.h            |    7 
 src/gallium/state_trackers/xorg/xorg_crtc.c             |    4 
 src/gallium/state_trackers/xorg/xorg_output.c           |    4 
 src/gallium/winsys/xlib/xlib_cell.c                     |    1 
 src/glu/sgi/libtess/mesh.c                              |    7 
 src/glu/sgi/libutil/mipmap.c                            |   10 
 src/glx/x11/dri_glx.c                                   |    4 
 src/glx/x11/glxcmds.c                                   |   43 -
 src/mesa/drivers/common/meta.c                          |   32 -
 src/mesa/drivers/dri/Makefile                           |    2 
 src/mesa/drivers/dri/i915/i830_texstate.c               |   13 
 src/mesa/drivers/dri/i915/i915_context.h                |    1 
 src/mesa/drivers/dri/i915/i915_state.c                  |   32 -
 src/mesa/drivers/dri/i915/i915_texstate.c               |   13 
 src/mesa/drivers/dri/i915/intel_tris.c                  |    8 
 src/mesa/drivers/dri/i965/brw_clip.c                    |    1 
 src/mesa/drivers/dri/i965/brw_clip.h                    |    7 
 src/mesa/drivers/dri/i965/brw_clip_line.c               |    8 
 src/mesa/drivers/dri/i965/brw_clip_tri.c                |   12 
 src/mesa/drivers/dri/i965/brw_context.h                 |    3 
 src/mesa/drivers/dri/i965/brw_draw_upload.c             |   19 
 src/mesa/drivers/dri/i965/brw_fallback.c                |    6 
 src/mesa/drivers/dri/i965/brw_gs.c                      |   10 
 src/mesa/drivers/dri/i965/brw_gs.h                      |    7 
 src/mesa/drivers/dri/i965/brw_gs_emit.c                 |   38 -
 src/mesa/drivers/dri/i965/brw_sf_state.c                |    7 
 src/mesa/drivers/dri/i965/brw_state.h                   |    1 
 src/mesa/drivers/dri/i965/brw_state_cache.c             |   49 +
 src/mesa/drivers/dri/i965/brw_state_upload.c            |    2 
 src/mesa/drivers/dri/i965/brw_tex_layout.c              |    7 
 src/mesa/drivers/dri/i965/brw_vs_emit.c                 |   42 -
 src/mesa/drivers/dri/i965/brw_vs_surface_state.c        |   12 
 src/mesa/drivers/dri/i965/brw_wm_emit.c                 |   24 
 src/mesa/drivers/dri/intel/intel_blit.c                 |   19 
 src/mesa/drivers/dri/intel/intel_buffer_objects.c       |    2 
 src/mesa/drivers/dri/intel/intel_context.c              |   79 +-
 src/mesa/drivers/dri/intel/intel_context.h              |   10 
 src/mesa/drivers/dri/intel/intel_extensions.c           |    1 
 src/mesa/drivers/dri/intel/intel_fbo.c                  |   25 
 src/mesa/drivers/dri/intel/intel_mipmap_tree.c          |  157 ++--
 src/mesa/drivers/dri/intel/intel_mipmap_tree.h          |   29 
 src/mesa/drivers/dri/intel/intel_pixel_bitmap.c         |    7 
 src/mesa/drivers/dri/intel/intel_pixel_read.c           |    4 
 src/mesa/drivers/dri/intel/intel_regions.h              |    2 
 src/mesa/drivers/dri/intel/intel_span.c                 |    6 
 src/mesa/drivers/dri/intel/intel_spantmp.h              |    4 
 src/mesa/drivers/dri/intel/intel_syncobj.c              |    2 
 src/mesa/drivers/dri/intel/intel_tex_copy.c             |   21 
 src/mesa/drivers/dri/intel/intel_tex_image.c            |   23 
 src/mesa/drivers/dri/r200/r200_context.c                |    4 
 src/mesa/drivers/dri/r200/r200_state.c                  |   22 
 src/mesa/drivers/dri/r200/r200_state.h                  |    2 
 src/mesa/drivers/dri/r200/r200_state_init.c             |   15 
 src/mesa/drivers/dri/r300/r300_context.c                |   20 
 src/mesa/drivers/dri/r300/r300_fragprog_common.c        |   13 
 src/mesa/drivers/dri/r300/r300_texstate.c               |   20 
 src/mesa/drivers/dri/r300/r300_vertprog.c               |   12 
 src/mesa/drivers/dri/r600/r600_cmdbuf.c                 |   18 
 src/mesa/drivers/dri/r600/r600_context.c                |    4 
 src/mesa/drivers/dri/r600/r600_texstate.c               |   12 
 src/mesa/drivers/dri/r600/r700_assembler.c              |   89 ++
 src/mesa/drivers/dri/r600/r700_assembler.h              |    1 
 src/mesa/drivers/dri/r600/r700_chip.c                   |    6 
 src/mesa/drivers/dri/r600/r700_fragprog.c               |   42 +
 src/mesa/drivers/dri/r600/r700_oglprog.c                |   55 +
 src/mesa/drivers/dri/r600/r700_state.c                  |   20 
 src/mesa/drivers/dri/radeon/radeon_bo_legacy.c          |    4 
 src/mesa/drivers/dri/radeon/radeon_common.c             |   32 -
 src/mesa/drivers/dri/radeon/radeon_common.h             |    1 
 src/mesa/drivers/dri/radeon/radeon_context.h            |    4 
 src/mesa/drivers/dri/radeon/radeon_dma.c                |    9 
 src/mesa/drivers/dri/radeon/radeon_fbo.c                |    5 
 src/mesa/drivers/dri/radeon/radeon_lock.c               |    9 
 src/mesa/drivers/dri/radeon/radeon_state.c              |   25 
 src/mesa/drivers/dri/swrast/swrast_span.c               |   72 --
 src/mesa/drivers/glslcompiler/Makefile                  |    2 
 src/mesa/drivers/windows/gdi/mesa.def                   |   12 
 src/mesa/drivers/x11/fakeglx.c                          |   59 +
 src/mesa/drivers/x11/xm_span.c                          |    8 
 src/mesa/drivers/x11/xmesaP.h                           |    3 
 src/mesa/main/compiler.h                                |    7 
 src/mesa/main/context.c                                 |   38 -
 src/mesa/main/context.h                                 |    8 
 src/mesa/main/dlist.c                                   |    6 
 src/mesa/main/fbobject.c                                |   12 
 src/mesa/main/get.c                                     |  344 +++++-----
 src/mesa/main/get_gen.py                                |    2 
 src/mesa/main/histogram.c                               |    7 
 src/mesa/main/image.c                                   |    4 
 src/mesa/main/imports.c                                 |   23 
 src/mesa/main/mipmap.c                                  |   19 
 src/mesa/main/points.c                                  |    7 
 src/mesa/main/renderbuffer.c                            |    2 
 src/mesa/main/syncobj.c                                 |   12 
 src/mesa/main/syncobj.h                                 |   12 
 src/mesa/main/texcompress.c                             |   50 +
 src/mesa/main/texcompress.h                             |    4 
 src/mesa/main/texenv.c                                  |    5 
 src/mesa/main/texformat.c                               |   16 
 src/mesa/main/texgen.c                                  |   10 
 src/mesa/main/texobj.c                                  |    2 
 src/mesa/main/texparam.c                                |   25 
 src/mesa/main/texstate.c                                |   22 
 src/mesa/main/texstore.c                                |    6 
 src/mesa/main/version.h                                 |    6 
 src/mesa/shader/arbprogparse.c                          |    6 
 src/mesa/shader/arbprogram.c                            |   44 +
 src/mesa/shader/hash_table.c                            |    4 
 src/mesa/shader/lex.yy.c                                |  385 ++++++------
 src/mesa/shader/nvprogram.c                             |   29 
 src/mesa/shader/prog_execute.c                          |    2 
 src/mesa/shader/prog_optimize.c                         |    4 
 src/mesa/shader/prog_parameter.h                        |    8 
 src/mesa/shader/program_lexer.l                         |    9 
 src/mesa/shader/program_parse.tab.c                     |  512 ++++++++--------
 src/mesa/shader/program_parse.y                         |   30 
 src/mesa/shader/shader_api.c                            |   31 
 src/mesa/shader/slang/library/slang_common_builtin.gc   |   76 +-
 src/mesa/shader/slang/library/slang_common_builtin_gc.h |  106 +--
 src/mesa/shader/slang/slang_codegen.c                   |    1 
 src/mesa/shader/slang/slang_emit.c                      |    1 
 src/mesa/shader/slang/slang_ir.c                        |    1 
 src/mesa/shader/slang/slang_ir.h                        |    1 
 src/mesa/shader/slang/slang_link.c                      |    9 
 src/mesa/shader/symbol_table.c                          |   22 
 src/mesa/state_tracker/st_cb_drawpixels.c               |   32 -
 src/mesa/state_tracker/st_cb_fbo.c                      |   13 
 src/mesa/state_tracker/st_cb_texture.c                  |   20 
 src/mesa/state_tracker/st_framebuffer.c                 |    7 
 src/mesa/swrast/s_depth.c                               |    4 
 src/mesa/vbo/vbo_exec.h                                 |    2 
 src/mesa/vbo/vbo_exec_api.c                             |    6 
 src/mesa/vbo/vbo_exec_draw.c                            |    4 
 windows/VC6/progs/glut/glut.dsp                         |  333 ----------
 windows/VC8/mesa/mesa/mesa.vcproj                       |  202 +++---
 338 files changed, 3318 insertions(+), 2137 deletions(-)

New commits:
commit b2953ee1a655a010f36b5fc1b47f8bd8b06ce368
Author: Vinson Lee <v...@vmware.com>
Date:   Sun Nov 29 00:50:48 2009 -0500

    mesa: Fix array out-of-bounds access by _mesa_TexGenf.
    
    _mesa_TexGenf calls _mesa_TexGenfv, which uses the params argument
    as an array.
    (cherry picked from commit ca5a7aadb4361e7d053aea8687372cd44cbd8795)

diff --git a/src/mesa/main/texgen.c b/src/mesa/main/texgen.c
index 13b3374..d3ea7b9 100644
--- a/src/mesa/main/texgen.c
+++ b/src/mesa/main/texgen.c
@@ -206,7 +206,10 @@ _mesa_TexGendv(GLenum coord, GLenum pname, const GLdouble 
*params )
 void GLAPIENTRY
 _mesa_TexGenf( GLenum coord, GLenum pname, GLfloat param )
 {
-   _mesa_TexGenfv(coord, pname, &param);
+   GLfloat p[4];
+   p[0] = param;
+   p[1] = p[2] = p[3] = 0.0F;
+   _mesa_TexGenfv(coord, pname, p);
 }
 
 

commit d74cd04e6190ebb3a9c53d45cbb2452d92e24ad5
Author: Vinson Lee <v...@vmware.com>
Date:   Sat Nov 28 23:47:23 2009 -0500

    mesa: Fix array out-of-bounds access by _mesa_TexGeni.
    
    _mesa_TexGeni calls _mesa_TexGeniv, which uses the params argument
    as an array.
    (cherry picked from commit d55fb7c835b56951f05a058083e7eda264ba192e)

diff --git a/src/mesa/main/texgen.c b/src/mesa/main/texgen.c
index e3feb02..13b3374 100644
--- a/src/mesa/main/texgen.c
+++ b/src/mesa/main/texgen.c
@@ -213,7 +213,10 @@ _mesa_TexGenf( GLenum coord, GLenum pname, GLfloat param )
 void GLAPIENTRY
 _mesa_TexGeni( GLenum coord, GLenum pname, GLint param )
 {
-   _mesa_TexGeniv( coord, pname, &param );
+   GLint p[4];
+   p[0] = param;
+   p[1] = p[2] = p[3] = 0;
+   _mesa_TexGeniv( coord, pname, p );
 }
 
 

commit ca8a2150c79899bad0f80e132656863822db045e
Author: Vinson Lee <v...@vmware.com>
Date:   Sun Nov 29 21:17:44 2009 -0500

    mesa: Fix array out-of-bounds access by _mesa_TexParameterf.
    
    _mesa_TexParameterf calls set_tex_parameterf, which uses the params
    argument as an array.
    (cherry picked from commit 270d36da146b899d39e08f830fe34b63833a3731)

diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c
index 416792f..4ce8c85 100644
--- a/src/mesa/main/texparam.c
+++ b/src/mesa/main/texparam.c
@@ -551,8 +551,13 @@ _mesa_TexParameterf(GLenum target, GLenum pname, GLfloat 
param)
       }
       break;
    default:
-      /* this will generate an error if pname is illegal */
-      need_update = set_tex_parameterf(ctx, texObj, pname, &param);
+      {
+         /* this will generate an error if pname is illegal */
+         GLfloat p[4];
+         p[0] = param;
+         p[1] = p[2] = p[3] = 0.0F;
+         need_update = set_tex_parameterf(ctx, texObj, pname, p);
+      }
    }
 
    if (ctx->Driver.TexParameter && need_update) {

commit 4071d065c2c32a872bb148d108252a2380c42da4
Author: Vinson Lee <v...@vmware.com>
Date:   Sun Nov 29 18:18:23 2009 -0500

    mesa: Fix array out-of-bounds access by _mesa_TexParameterf.
    
    _mesa_TexParameterf calls set_tex_parameteri, which uses the params
    argument as an array.
    (cherry picked from commit a201dfb6bf28b89d6f511c2ec9ae0d81ef18511d)

diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c
index 9d1fdd0..416792f 100644
--- a/src/mesa/main/texparam.c
+++ b/src/mesa/main/texparam.c
@@ -544,8 +544,10 @@ _mesa_TexParameterf(GLenum target, GLenum pname, GLfloat 
param)
    case GL_DEPTH_TEXTURE_MODE_ARB:
       {
          /* convert float param to int */
-         GLint p = (GLint) param;
-         need_update = set_tex_parameteri(ctx, texObj, pname, &p);
+         GLint p[4];
+         p[0] = (GLint) param;
+         p[1] = p[2] = p[3] = 0;
+         need_update = set_tex_parameteri(ctx, texObj, pname, p);
       }
       break;
    default:

commit 1446f30875bfb3b633942bc710b061019472f788
Author: Vinson Lee <v...@vmware.com>
Date:   Sat Dec 5 01:43:29 2009 -0800

    progs/samples: Fix memory leak if malloc fails in rgbtoppm.c.

diff --git a/progs/samples/rgbtoppm.c b/progs/samples/rgbtoppm.c
index 6652bb3..56ca5b0 100644
--- a/progs/samples/rgbtoppm.c
+++ b/progs/samples/rgbtoppm.c
@@ -225,6 +225,7 @@ read_rgb_texture(char *name, int *width, int *height)
       if (gbuf) free(gbuf);
       if (bbuf) free(bbuf);
       if (abuf) free(abuf);
+      ImageClose(image); 
       return NULL;
     }
     ptr = base;

commit 412aeeed1c392ab5796c85287fc6ebdccd74880c
Author: Vinson Lee <v...@vmware.com>
Date:   Sat Dec 5 01:38:14 2009 -0800

    progs/samples: Fix memory leak if fopen fails in rgbtoppm.c.

diff --git a/progs/samples/rgbtoppm.c b/progs/samples/rgbtoppm.c
index 116d9a8..6652bb3 100644
--- a/progs/samples/rgbtoppm.c
+++ b/progs/samples/rgbtoppm.c
@@ -86,7 +86,8 @@ static ImageRec *ImageOpen(char *fileName)
         exit(1);
     }
     if ((image->file = fopen(fileName, "rb")) == NULL) {
-       return NULL;
+        free(image);
+        return NULL;
     }
 
     fread(image, 1, 12, image->file);

commit 6212c8103a5011e08003c8946732edad39fa74c3
Author: Vinson Lee <v...@vmware.com>
Date:   Sat Dec 5 01:28:47 2009 -0800

    progs/samples: Add rgbtoppm to Makefile.

diff --git a/progs/samples/Makefile b/progs/samples/Makefile
index b300e38..64fa47a 100644
--- a/progs/samples/Makefile
+++ b/progs/samples/Makefile
@@ -10,7 +10,7 @@ LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) 
$(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) $(T
 LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) 
-l$(GL_LIB) $(APP_LIB_DEPS)
 
 PROGS = accum bitmap1 bitmap2 blendeq blendxor copy cursor depth eval fog \
-       font line logo nurb olympic overlay point prim quad select \
+       font line logo nurb olympic overlay point prim rgbtoppm quad select \
        shape sphere star stencil stretch texture tri wave
 
 

commit 2cd2341ce88a3d485f81d920290a9c1d0ab988da
Author: Vinson Lee <v...@vmware.com>
Date:   Sat Dec 5 01:22:34 2009 -0800

    progs/tests: Removed unused variable from texdown.c.

diff --git a/progs/tests/texdown.c b/progs/tests/texdown.c
index e6881d3..92df01b 100644
--- a/progs/tests/texdown.c
+++ b/progs/tests/texdown.c
@@ -162,7 +162,7 @@ MeasureDownloadRate(void)
    const int image_bytes = align(w * h * BytesPerTexel(Format), ALIGN);
    const int bytes = image_bytes * NR_TEXOBJ;
    GLubyte *orig_texImage, *orig_getImage;
-   GLubyte *texImage, *getImage;
+   GLubyte *texImage;
    GLdouble t0, t1, time;
    int count;
    int i;
@@ -184,7 +184,6 @@ MeasureDownloadRate(void)
    printf("alloc %p %p\n", orig_texImage, orig_getImage);
 
    texImage = (GLubyte *)align((unsigned long)orig_texImage, ALIGN);
-   getImage = (GLubyte *)align((unsigned long)orig_getImage, ALIGN);   
 
    for (i = 1; !(((unsigned long)texImage) & i); i<<=1)
       ;

commit d642edd2d10e93c32077a729b13a7c7b0d37d25b
Author: Vinson Lee <v...@vmware.com>
Date:   Sat Dec 5 01:11:26 2009 -0800

    progs/vpglsl: Assign glGetUniformLocationARB return value to GLint.
    
    The return type of glGetUniformLocationARB is GLint, not GLuint.

diff --git a/progs/vpglsl/vp-tris.c b/progs/vpglsl/vp-tris.c
index b2b0508..6a1fa3d 100644
--- a/progs/vpglsl/vp-tris.c
+++ b/progs/vpglsl/vp-tris.c
@@ -84,9 +84,9 @@ static void check_link(GLuint prog)
 static void setup_uniforms()
 {
    {
-      GLuint loc1f = glGetUniformLocationARB(program, "Offset1f");
-      GLuint loc2f = glGetUniformLocationARB(program, "Offset2f");
-      GLuint loc4f = glGetUniformLocationARB(program, "Offset4f");
+      GLint loc1f = glGetUniformLocationARB(program, "Offset1f");
+      GLint loc2f = glGetUniformLocationARB(program, "Offset2f");
+      GLint loc4f = glGetUniformLocationARB(program, "Offset4f");
       GLfloat vecKer[] =
          { 1.0, 0.0, 0.0,  1.0,
            0.0, 1.0, 0.0,  1.0,
@@ -105,9 +105,9 @@ static void setup_uniforms()
    }
 
    {
-      GLuint loc1f = glGetUniformLocationARB(program, "KernelValue1f");
-      GLuint loc2f = glGetUniformLocationARB(program, "KernelValue2f");
-      GLuint loc4f = glGetUniformLocationARB(program, "KernelValue4f");
+      GLint loc1f = glGetUniformLocationARB(program, "KernelValue1f");
+      GLint loc2f = glGetUniformLocationARB(program, "KernelValue2f");
+      GLint loc4f = glGetUniformLocationARB(program, "KernelValue4f");
       GLfloat vecKer[] =
          { 1.0, 0.0, 0.0,  0.25,
            0.0, 1.0, 0.0,  0.25,

commit 8d2f3434c5904e28b5e1bccceba7e89a94502ac1
Author: Vinson Lee <v...@vmware.com>
Date:   Fri Dec 4 23:31:39 2009 -0800

    progs/fp: Redraw upon keypress.

diff --git a/progs/fp/tri-inv.c b/progs/fp/tri-inv.c
index 7e8d8c5..7e490fa 100644
--- a/progs/fp/tri-inv.c
+++ b/progs/fp/tri-inv.c
@@ -56,7 +56,7 @@ static void Key(unsigned char key, int x, int y)
       case 27:
        exit(1);
       default:
-       return;
+       break;
     }
 
     glutPostRedisplay();

commit fe8e18bcd41a19282ba92350a04a34866fda1d7b
Author: Vinson Lee <v...@vmware.com>
Date:   Sat Nov 28 22:04:06 2009 -0500

    mesa: Fix array out-of-bounds access in _mesa_TexEnvf.
    
    _mesa_TexEnvf calls _mesa_TexEnvfv, which uses the param argument
    as an array.
    (cherry picked from commit a11d60d14caf8efc07f70af63b57b33273f8cf9b)

diff --git a/src/mesa/main/texenv.c b/src/mesa/main/texenv.c
index 6d86a42..4442fb8 100644
--- a/src/mesa/main/texenv.c
+++ b/src/mesa/main/texenv.c
@@ -598,7 +598,10 @@ _mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat 
*param )
 void GLAPIENTRY
 _mesa_TexEnvf( GLenum target, GLenum pname, GLfloat param )
 {
-   _mesa_TexEnvfv( target, pname, &param );
+   GLfloat p[4];
+   p[0] = param;
+   p[1] = p[2] = p[3] = 0.0;
+   _mesa_TexEnvfv( target, pname, p );
 }
 
 

commit 4fb5ae7233e5c358e579ced6155f32461f6edf2d
Author: Vinson Lee <v...@vmware.com>
Date:   Tue Nov 17 12:00:22 2009 -0800

    progs/util: Fix memory leak if fread returns 0 in CompileShaderFile.
    (cherry picked from commit 11905da8836822f7dd60c84b5eefc72e46c94b50)

diff --git a/progs/util/shaderutil.c b/progs/util/shaderutil.c
index 36e0784..adcf214 100644
--- a/progs/util/shaderutil.c
+++ b/progs/util/shaderutil.c
@@ -99,6 +99,7 @@ CompileShaderFile(GLenum shaderType, const char *filename)
       shader = CompileShaderText(shaderType, buffer);
    }
    else {
+      fclose(f);
       free(buffer);
       return 0;
    }

commit 5683d7d43fd5a02b72f30a2a6d6a9bfeaf2fa781
Author: Vinson Lee <v...@vmware.com>
Date:   Tue Nov 3 14:41:08 2009 -0700

    progs/util: Fix memory leak if fail to load/compile shader
    
    Signed-off-by: Brian Paul <bri...@vmware.com>
    (cherry picked from commit c475079ef2d901ba4506ebd53e19419cd46793ab)

diff --git a/progs/util/shaderutil.c b/progs/util/shaderutil.c
index 629b6f1..36e0784 100644
--- a/progs/util/shaderutil.c
+++ b/progs/util/shaderutil.c
@@ -88,6 +88,7 @@ CompileShaderFile(GLenum shaderType, const char *filename)
    f = fopen(filename, "r");
    if (!f) {
       fprintf(stderr, "Unable to open shader file %s\n", filename);
+      free(buffer);
       return 0;
    }
 
@@ -98,6 +99,7 @@ CompileShaderFile(GLenum shaderType, const char *filename)
       shader = CompileShaderText(shaderType, buffer);
    }
    else {
+      free(buffer);
       return 0;
    }
 

commit e5bc2a19bdaeeda2aa60562f6a580e27c74e9569
Author: Vinson Lee <v...@vmware.com>
Date:   Fri Dec 4 17:29:53 2009 -0800

    progs/fp: Add tri-inv.c to Makefile.

diff --git a/progs/fp/Makefile b/progs/fp/Makefile
index 681928c..d77cd32 100755
--- a/progs/fp/Makefile
+++ b/progs/fp/Makefile
@@ -17,6 +17,7 @@ SOURCES = \
        tri-depth2.c \
        tri-depthwrite.c \
        tri-depthwrite2.c \
+       tri-inv.c \
         tri-param.c \
         fp-tri.c
 

commit 225bc70b77fcf107dd8abc93be27a15c27743071
Author: Coleman Kane <Coleman Kane>
Date:   Fri Dec 4 08:44:57 2009 -0700

    r300g: use $(MAKE) variable
    
    Fixes bug 24501

diff --git a/src/gallium/drivers/r300/Makefile 
b/src/gallium/drivers/r300/Makefile
index d7a2c8c..8d0c6e3 100644
--- a/src/gallium/drivers/r300/Makefile
+++ b/src/gallium/drivers/r300/Makefile
@@ -38,4 +38,4 @@ include ../../Makefile.template
 .PHONY : $(COMPILER_ARCHIVE)
 
 $(COMPILER_ARCHIVE):
-       cd $(TOP)/src/mesa/drivers/dri/r300/compiler; make
+       $(MAKE) -C $(TOP)/src/mesa/drivers/dri/r300/compiler

commit ca7cd3ade0f27f8f1d9532ad6281659e2522f0cf
Author: Brian Paul <bri...@vmware.com>
Date:   Fri Dec 4 08:09:55 2009 -0700

    progs/xdemos: fix some visual/fbconfig logic in glxinfo.c
    
    The fbAttribSingle/Double arrays had wrong GLX_DOUBLEBUFFER values.
    We only need to use the glXChooseFBConfig() code when glXChooseVisual()
    fails (but I don't know when that would happen).
    Other recent commits errantly removed some code in this area too.

diff --git a/progs/xdemos/glxinfo.c b/progs/xdemos/glxinfo.c
index b182a30..23df82f 100644
--- a/progs/xdemos/glxinfo.c
+++ b/progs/xdemos/glxinfo.c
@@ -401,6 +401,10 @@ print_screen_info(Display *dpy, int scrnum, Bool 
allowDirect, GLboolean limits)
 
    root = RootWindow(dpy, scrnum);
 
+   /*
+    * Find a basic GLX visual.  We'll then create a rendering context and
+    * query various info strings.
+    */
    visinfo = glXChooseVisual(dpy, scrnum, attribSingle);
    if (!visinfo)
       visinfo = glXChooseVisual(dpy, scrnum, attribDouble);
@@ -409,24 +413,29 @@ print_screen_info(Display *dpy, int scrnum, Bool 
allowDirect, GLboolean limits)
       ctx = glXCreateContext( dpy, visinfo, NULL, allowDirect );
 
 #ifdef GLX_VERSION_1_3
-   {
+   /* Try glXChooseFBConfig() if glXChooseVisual didn't work.
+    * XXX when would that happen?
+    */
+   if (!visinfo) {
       int fbAttribSingle[] = {
         GLX_RENDER_TYPE,   GLX_RGBA_BIT,
         GLX_RED_SIZE,      1,
         GLX_GREEN_SIZE,    1,
         GLX_BLUE_SIZE,     1,
-        GLX_DOUBLEBUFFER,  GL_TRUE,
+        GLX_DOUBLEBUFFER,  GL_FALSE,
         None };
       int fbAttribDouble[] = {
         GLX_RENDER_TYPE,   GLX_RGBA_BIT,
         GLX_RED_SIZE,      1,
         GLX_GREEN_SIZE,    1,
         GLX_BLUE_SIZE,     1,
+        GLX_DOUBLEBUFFER,  GL_TRUE,
         None };
       GLXFBConfig *configs = NULL;
       int nConfigs;
 
-      if (!visinfo)
+      configs = glXChooseFBConfig(dpy, scrnum, fbAttribSingle, &nConfigs);
+      if (!configs)
         configs = glXChooseFBConfig(dpy, scrnum, fbAttribDouble, &nConfigs);
 
       if (configs) {

commit fb83fa26c47a49db1673834fd5f013bbcacadf58
Author: Brian Paul <bri...@vmware.com>
Date:   Fri Dec 4 08:09:07 2009 -0700

    docs: a few more fixes for 7.6.1

diff --git a/docs/relnotes-7.6.1.html b/docs/relnotes-7.6.1.html
index d155cf5..752f9ca 100644
--- a/docs/relnotes-7.6.1.html
+++ b/docs/relnotes-7.6.1.html
@@ -56,6 +56,8 @@ tbd
 <li>Fixed clipping / provoking vertex bugs in i965 driver.
 <li>Assorted build fixes for AIX.
 <li>Endianness fixes for the DRI swrast driver (bug 22767).</li>
+<li>Point sprite fixes for i915/945 driver.
+<li>Fixed assorted memory leaks (usually on error paths)
 </ul>
 
 <h2>Changes</h2>

commit 8d8fd9776e23a34e0d22e489ce1f85eb5e383121
Author: Alex Deucher <alexdeuc...@gmail.com>
Date:   Fri Dec 4 09:52:37 2009 -0500

    radeon: fix polygon stipple
    
    fixes fdo bug 25354
    
    Signed-off-by: Alex Deucher <alexdeuc...@gmail.com>

diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c 
b/src/mesa/drivers/dri/radeon/radeon_common.c
index 8032cbc..5b2bcfd 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common.c
+++ b/src/mesa/drivers/dri/radeon/radeon_common.c
@@ -262,29 +262,6 @@ void radeonScissor(GLcontext* ctx, GLint x, GLint y, 
GLsizei w, GLsizei h)
        }
 }
 
-void radeonPolygonStipplePreKMS( GLcontext *ctx, const GLubyte *mask )
-{
-   radeonContextPtr radeon = RADEON_CONTEXT(ctx);
-   GLuint i;
-   drm_radeon_stipple_t stipple;
-
-   /* Must flip pattern upside down.
-   */
-   for ( i = 0 ; i < 32 ; i++ ) {
-      stipple.mask[31 - i] = ((GLuint *) mask)[i];
-   }
-
-   /* TODO: push this into cmd mechanism
-   */
-   radeon_firevertices(radeon);
-   LOCK_HARDWARE( radeon );
-
-   drmCommandWrite( radeon->dri.fd, DRM_RADEON_STIPPLE,
-        &stipple, sizeof(stipple) );
-   UNLOCK_HARDWARE( radeon );
-}
-
-
 /* ================================================================
  * SwapBuffers with client-side throttling
  */
diff --git a/src/mesa/drivers/dri/radeon/radeon_common.h 
b/src/mesa/drivers/dri/radeon/radeon_common.h
index f320191..a9e1ca4 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common.h
+++ b/src/mesa/drivers/dri/radeon/radeon_common.h
@@ -10,7 +10,6 @@ void radeonRecalcScissorRects(radeonContextPtr radeon);
 void radeonSetCliprects(radeonContextPtr radeon);
 void radeonUpdateScissor( GLcontext *ctx );
 void radeonScissor(GLcontext* ctx, GLint x, GLint y, GLsizei w, GLsizei h);
-void radeonPolygonStipplePreKMS( GLcontext *ctx, const GLubyte *mask );
 
 void radeonWaitForIdleLocked(radeonContextPtr radeon);
 extern uint32_t radeonGetAge(radeonContextPtr radeon);
diff --git a/src/mesa/drivers/dri/radeon/radeon_context.h 
b/src/mesa/drivers/dri/radeon/radeon_context.h
index 4e2c52c..12ab33a 100644
--- a/src/mesa/drivers/dri/radeon/radeon_context.h
+++ b/src/mesa/drivers/dri/radeon/radeon_context.h
@@ -331,8 +331,12 @@ struct r100_hw_state {
        struct radeon_state_atom stp;
 };
 
+struct radeon_stipple_state {
+       GLuint mask[32];
+};
 
 struct r100_state {
+       struct radeon_stipple_state stipple;
        struct radeon_texture_state texture;
 };
 
diff --git a/src/mesa/drivers/dri/radeon/radeon_state.c 
b/src/mesa/drivers/dri/radeon/radeon_state.c
index 4d0d35e..f6c733a 100644
--- a/src/mesa/drivers/dri/radeon/radeon_state.c
+++ b/src/mesa/drivers/dri/radeon/radeon_state.c
@@ -550,6 +550,31 @@ static void radeonPolygonOffset( GLcontext *ctx,
    rmesa->hw.zbs.cmd[ZBS_SE_ZBIAS_CONSTANT] = constant.ui32;
 }
 
+static void radeonPolygonStipplePreKMS( GLcontext *ctx, const GLubyte *mask )
+{
+   r100ContextPtr rmesa = R100_CONTEXT(ctx);
+   GLuint i;
+   drm_radeon_stipple_t stipple;
+
+   /* Must flip pattern upside down.
+    */
+   for ( i = 0 ; i < 32 ; i++ ) {
+      rmesa->state.stipple.mask[31 - i] = ((GLuint *) mask)[i];
+   }
+
+   /* TODO: push this into cmd mechanism
+    */
+   radeon_firevertices(&rmesa->radeon);
+   LOCK_HARDWARE( &rmesa->radeon );
+
+   /* FIXME: Use window x,y offsets into stipple RAM.
+    */
+   stipple.mask = rmesa->state.stipple.mask;
+   drmCommandWrite( rmesa->radeon.dri.fd, DRM_RADEON_STIPPLE,
+                   &stipple, sizeof(drm_radeon_stipple_t) );
+   UNLOCK_HARDWARE( &rmesa->radeon );
+}
+
 static void radeonPolygonMode( GLcontext *ctx, GLenum face, GLenum mode )
 {
    r100ContextPtr rmesa = R100_CONTEXT(ctx);

commit c74afe0c46dbd0f90361c06526f70885a9061e8e
Author: Vinson Lee <v...@vmware.com>
Date:   Thu Nov 26 00:35:31 2009 -0500

    glu/sgi: Fix memory leak in gluBuild2DMipmapLevelsCore.
    (cherry picked from commit 808f0376607b0e2d31dfebc888fd8f1e737fed09)

diff --git a/src/glu/sgi/libutil/mipmap.c b/src/glu/sgi/libutil/mipmap.c
index bf6eaf8..d1fd5a7 100644
--- a/src/glu/sgi/libutil/mipmap.c
+++ b/src/glu/sgi/libutil/mipmap.c
@@ -4108,6 +4108,7 @@ static int gluBuild2DMipmapLevelsCore(GLenum target, 
GLint internalFormat,
          glPixelStorei(GL_UNPACK_SKIP_PIXELS, psm.unpack_skip_pixels);
          glPixelStorei(GL_UNPACK_ROW_LENGTH, psm.unpack_row_length);
          glPixelStorei(GL_UNPACK_SWAP_BYTES, psm.unpack_swap_bytes);
+         free(srcImage);
          return GLU_OUT_OF_MEMORY;
        }
        /* level userLevel+1 is in srcImage; level userLevel already saved */

commit 8df551c46bc15a4b1ce1dc11e083498442018418
Author: Vinson Lee <v...@vmware.com>
Date:   Wed Nov 25 00:39:37 2009 -0500

    glu/sgi: Fix memory leak in gluBuild1DMipmapLevelsCore.
    (cherry picked from commit 94bcb9f1a43f2ab3bdff09156e3ab5b1c115cbd8)

diff --git a/src/glu/sgi/libutil/mipmap.c b/src/glu/sgi/libutil/mipmap.c
index 796be0a..bf6eaf8 100644
--- a/src/glu/sgi/libutil/mipmap.c
+++ b/src/glu/sgi/libutil/mipmap.c
@@ -3608,6 +3608,7 @@ int gluBuild1DMipmapLevelsCore(GLenum target, GLint 
internalFormat,
                    glPixelStorei(GL_UNPACK_SKIP_PIXELS,psm.unpack_skip_pixels);
                    glPixelStorei(GL_UNPACK_ROW_LENGTH, psm.unpack_row_length);
                    glPixelStorei(GL_UNPACK_SWAP_BYTES, psm.unpack_swap_bytes);
+                   free(newImage);
                    return GLU_OUT_OF_MEMORY;
                }
            }

commit ea487c6d0b261bf90e898f51bc9f872de8166ddb
Author: Vinson Lee <v...@vmware.com>
Date:   Wed Nov 25 00:28:56 2009 -0500

    glu/sgi: Fix memory leak in gluBuild2DMipmapLevelsCore.
    (cherry picked from commit 0d89f3dc7ff3f89ba8d5d664253730485bca35e2)

diff --git a/src/glu/sgi/libutil/mipmap.c b/src/glu/sgi/libutil/mipmap.c
index 22d7022..796be0a 100644
--- a/src/glu/sgi/libutil/mipmap.c
+++ b/src/glu/sgi/libutil/mipmap.c
@@ -4349,6 +4349,7 @@ static int gluBuild2DMipmapLevelsCore(GLenum target, 
GLint internalFormat,
            glPixelStorei(GL_UNPACK_SKIP_PIXELS, psm.unpack_skip_pixels);
            glPixelStorei(GL_UNPACK_ROW_LENGTH, psm.unpack_row_length);
            glPixelStorei(GL_UNPACK_SWAP_BYTES, psm.unpack_swap_bytes);
+           free(srcImage);
            return GLU_OUT_OF_MEMORY;
          }
        }

commit 7b5eba453e08dfad151d09ba4d308cbdf4fc83af
Author: Vinson Lee <v...@vmware.com>
Date:   Wed Nov 25 00:18:49 2009 -0500

    glu/sgi: Fix memory leak in gluBuild3DMipmapLevelsCore.
    (cherry picked from commit f895abbd9777c4985aa40cf660c68f6d7333f0ec)

diff --git a/src/glu/sgi/libutil/mipmap.c b/src/glu/sgi/libutil/mipmap.c
index a5d07a5..22d7022 100644
--- a/src/glu/sgi/libutil/mipmap.c
+++ b/src/glu/sgi/libutil/mipmap.c
@@ -8098,6 +8098,7 @@ static int gluBuild3DMipmapLevelsCore(GLenum target, 
GLint internalFormat,
         glPixelStorei(GL_UNPACK_SWAP_BYTES, psm.unpack_swap_bytes);
         glPixelStorei(GL_UNPACK_SKIP_IMAGES, psm.unpack_skip_images);
         glPixelStorei(GL_UNPACK_IMAGE_HEIGHT, psm.unpack_image_height);
+        free(srcImage);
         return GLU_OUT_OF_MEMORY;
        }
        /* level userLevel+1 is in srcImage; level userLevel already saved */

commit 7ed749c062c2bc2b048a34f8e4c6b0a5198e32bb
Author: Vinson Lee <v...@vmware.com>
Date:   Tue Nov 24 01:23:12 2009 -0500

    glu/sgi: Fix memory leak in gluBuild3DMipmapLevelsCore.
    (cherry picked from commit 326b66d724754ca97012501db1c7c62d7d41a457)

diff --git a/src/glu/sgi/libutil/mipmap.c b/src/glu/sgi/libutil/mipmap.c
index c5faebd..a5d07a5 100644
--- a/src/glu/sgi/libutil/mipmap.c
+++ b/src/glu/sgi/libutil/mipmap.c
@@ -8232,6 +8232,7 @@ static int gluBuild3DMipmapLevelsCore(GLenum target, 
GLint internalFormat,
           glPixelStorei(GL_UNPACK_SWAP_BYTES, psm.unpack_swap_bytes);
           glPixelStorei(GL_UNPACK_SKIP_IMAGES, psm.unpack_skip_images);


-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to