diff --git a/helpers/check-va-api.c b/helpers/check-va-api.c
index 51d65970ea50fb0cbed5e5688f62fb7d94621255..8dadceaaea8c91da35a3da59264312d48781535c 100644
--- a/helpers/check-va-api.c
+++ b/helpers/check-va-api.c
@@ -204,9 +204,9 @@ create_surfaces (VADisplay va_display,
   VAImage img;
   VAImageFormat image_format;
   unsigned int num_attribs;
-  VASurfaceAttrib *attrib_list = NULL;
+  autofree VASurfaceAttrib *attrib_list = NULL;
   int num_formats;
-  VAImageFormat *format_list = NULL;
+  autofree VAImageFormat *format_list = NULL;
   bool ret = false;
 
 #define do_vaapi_or_exit(expr) if (! _do_vaapi (#expr, expr)) goto out;
@@ -288,8 +288,6 @@ create_surfaces (VADisplay va_display,
   ret = true;
 
 out:
-  free (attrib_list);
-  free (format_list);
   if (img.image_id != VA_INVALID_ID)
     vaDestroyImage (va_display, img.image_id);