summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@redhat.com>2011-08-25 14:35:33 +0200
committerHans de Goede <hdegoede@redhat.com>2011-08-25 14:48:01 +0200
commit8c9404374a6066cf5f5567b93e2e5e9debd2c722 (patch)
tree2fa1817d8cfccb5d050a82bddb0ed5443a9d8c19 /server
parenta09052b83cf4003b5eb5d486e498e8bc70e8262f (diff)
downloadspice-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.c4
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,