Command line options are not freed at the end of the program. These are detected as leaks by leak detector tools like address sanitizer. Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> --- server/tests/test-gst.c | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) Changes since v2: - update syntax diff --git a/server/tests/test-gst.c b/server/tests/test-gst.c index 40f738d78..302158a27 100644 --- a/server/tests/test-gst.c +++ b/server/tests/test-gst.c @@ -296,6 +296,7 @@ output_frames(GstSample *sample, void *param) static const EncoderInfo encoder_infos[] = { { "mjpeg", mjpeg_encoder_new, SPICE_VIDEO_CODEC_TYPE_MJPEG, "caps=image/jpeg", "jpegdec" }, +#define encoder_info_mjpeg (&encoder_infos[0]) { "gstreamer:mjpeg", gstreamer_encoder_new, SPICE_VIDEO_CODEC_TYPE_MJPEG, "caps=image/jpeg", "jpegdec" }, { "gstreamer:vp8", gstreamer_encoder_new, SPICE_VIDEO_CODEC_TYPE_VP8, @@ -314,11 +315,11 @@ static const EncoderInfo encoder_infos[] = { int main(int argc, char *argv[]) { gchar *input_pipeline_desc = NULL; - const gchar *image_format = "32BIT"; - const gchar *encoder_name = "mjpeg"; + gchar *image_format = NULL; + gchar *encoder_name = NULL; gchar *file_report_name = NULL; gboolean use_hw_encoder = FALSE; // TODO use - const gchar *clipping = "(0,0)x(100%,100%)"; + gchar *clipping = NULL; // - input pipeline // - top/down @@ -368,19 +369,24 @@ int main(int argc, char *argv[]) exit(1); } - const EncoderInfo *encoder = get_encoder_info(encoder_name); - if (!encoder) { - g_printerr("Encoder name unsupported: %s\n", encoder_name); - exit(1); + const EncoderInfo *encoder = encoder_info_mjpeg; + if (encoder_name != NULL) { + encoder = get_encoder_info(encoder_name); + if (!encoder) { + g_printerr("Encoder name unsupported: %s\n", encoder_name); + exit(1); + } } - bitmap_format = get_bitmap_format(image_format); - if (bitmap_format == SPICE_BITMAP_FMT_INVALID) { - g_printerr("Invalid image format: %s\n", image_format); - exit(1); + if (image_format != NULL) { + bitmap_format = get_bitmap_format(image_format); + if (bitmap_format == SPICE_BITMAP_FMT_INVALID) { + g_printerr("Invalid image format: %s\n", image_format); + exit(1); + } } - parse_clipping(clipping); + parse_clipping(clipping ? clipping : "(0,0)x(100%,100%)"); if (minimum_psnr < 0) { g_printerr("Invalid PSNR specified %f\n", minimum_psnr); @@ -432,6 +438,12 @@ int main(int argc, char *argv[]) exit(1); } + g_free(encoder_name); + g_free(image_format); + g_free(input_pipeline_desc); + g_free(clipping); + g_option_context_free(context); + return 0; } -- 2.13.5 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel