cppcheck is reporting:
[wrlib/tests/testgrad.c:148]: (error) Memory leak: color_name

but seems some other variables were never freed too.
This patch is cleaning them property.


diff --git a/wrlib/tests/testgrad.c b/wrlib/tests/testgrad.c
index b4a3257..0b5a799 100644
--- a/wrlib/tests/testgrad.c
+++ b/wrlib/tests/testgrad.c
@@ -135,15 +135,28 @@ int main(int argc, char **argv)
  imgd = RRenderMultiGradient(250, 250, colors, RGRD_DIAGONAL);
  RConvertImage(ctx, imgh, &pix);
  XCopyArea(dpy, pix, win, ctx->copy_gc, 0, 0, 250, 250, 0, 0);
+ RReleaseImage(imgh);

  RConvertImage(ctx, imgv, &pix);
  XCopyArea(dpy, pix, win, ctx->copy_gc, 0, 0, 250, 250, 250, 0);
+ RReleaseImage(imgv);

  RConvertImage(ctx, imgd, &pix);
  XCopyArea(dpy, pix, win, ctx->copy_gc, 0, 0, 250, 250, 500, 0);
+ RReleaseImage(imgd);

  XFlush(dpy);

  getchar();
+
+ free(color_name);
+ for (i = 0; i < ncolors + 1; i++)
+ free(colors[i]);
+ free(colors);
+
+ RDestroyContext(ctx);
+ RShutdown();
+ XCloseDisplay(dpy);
+
  return 0;
 }

Attachment: 0001-wrlib-tests-fix-testgrad-memory-leak.patch
Description: Binary data

Reply via email to