]> git.cworth.org Git - fips/blobdiff - glxwrap.c
Fix buffer overrun in accumulate_program_metrics
[fips] / glxwrap.c
index eda358313dc26b09570547c40987c56526c9306a..14b79b7b3b1e09dc79e65e0acaf72db212d5d133 100644 (file)
--- a/glxwrap.c
+++ b/glxwrap.c
@@ -84,10 +84,14 @@ glXMakeCurrent (Display *dpy, GLXDrawable drawable, GLXContext ctx)
 {
        Bool ret;
 
+       metrics_info_fini ();
+
        fips_dispatch_init (FIPS_API_GLX);
 
        GLWRAP_DEFER_WITH_RETURN (ret, glXMakeCurrent, dpy, drawable, ctx);
 
+       metrics_info_init ();
+
        metrics_set_current_op (METRICS_OP_SHADER + 0);
        metrics_counter_start ();
 
@@ -99,10 +103,14 @@ glXMakeContextCurrent (Display *dpy, GLXDrawable drawable, GLXDrawable read, GLX
 {
        Bool ret;
 
+       metrics_info_fini ();
+
        fips_dispatch_init (FIPS_API_GLX);
 
        GLWRAP_DEFER_WITH_RETURN (ret, glXMakeContextCurrent, dpy, drawable, read, ctx);
 
+       metrics_info_init ();
+
        metrics_set_current_op (METRICS_OP_SHADER + 0);
        metrics_counter_start ();