diff options
author | Christophe Fergeau <cfergeau@redhat.com> | 2011-08-25 14:35:33 +0200 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2011-08-25 14:48:01 +0200 |
commit | 8c9404374a6066cf5f5567b93e2e5e9debd2c722 (patch) | |
tree | 2fa1817d8cfccb5d050a82bddb0ed5443a9d8c19 /server | |
parent | a09052b83cf4003b5eb5d486e498e8bc70e8262f (diff) | |
download | spice-8c9404374a6066cf5f5567b93e2e5e9debd2c722.tar.gz spice-8c9404374a6066cf5f5567b93e2e5e9debd2c722.tar.xz spice-8c9404374a6066cf5f5567b93e2e5e9debd2c722.zip |
fix leak in do_jpeg_encode
Issue found by the Coverity scanner.
HDG: Fixup don't free RGB24_line if it was not allocated by do_jpeg_encode
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'server')
-rw-r--r-- | server/jpeg_encoder.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/server/jpeg_encoder.c b/server/jpeg_encoder.c index 85ef54ef..a3084378 100644 --- a/server/jpeg_encoder.c +++ b/server/jpeg_encoder.c @@ -194,6 +194,10 @@ static void do_jpeg_encode(JpegEncoder *jpeg, uint8_t *lines, unsigned int num_l row_pointer[0] = RGB24_line; jpeg_write_scanlines(&jpeg->cinfo, row_pointer, 1); } + + if (jpeg->cur_image.type != JPEG_IMAGE_TYPE_RGB24) { + free(RGB24_line); + } } int jpeg_encode(JpegEncoderContext *jpeg, int quality, JpegEncoderImageType type, |