[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: RFR: 8212034: Potential memory leaks in jpegLoader.c in error case
From:       Arunprasad Rajkumar <arajkumar () openjdk ! java ! net>
Date:       2019-11-28 11:12:42
Message-ID: pQswEpPP10RpSjdbZ75FfrpfL8AJjTBO_EToCztmVgg=.e69e31aa-1dd5-4b04-b0b1-826950f2829b () github ! com
[Download RAW message or body]

On Wed, 27 Nov 2019 11:58:18 GMT, Ambarish Rapte <arapte@openjdk.org> wrote:

> Memory allocated in initDecompressor() and decompressIndirect() is not freed in \
> error case. In error case,
> 1. Allocated memory should be freed.
> 2. Appropriate de-initialization jpeg library calls should be added.
> 
> Verified that,
> 1. All unit and systems tests pass on three platforms, and
> 2. Memory consumption with and without fix is similar by comparing memory before \
> and after showing 10 jpeg images for 100 times. 
> ----------------
> 
> Commits:
> - 7af932b7: 8212034: Memory leaks in jpegLoader.c in error case
> 
> Changes: https://git.openjdk.java.net/jfx/pull/54/files
> Webrev: https://webrevs.openjdk.java.net/jfx/54/webrev.00
> Issue: https://bugs.openjdk.java.net/browse/JDK-8212034
> Stats: 62 lines in 1 file changed: 36 ins; 14 del; 12 mod
> Patch: https://git.openjdk.java.net/jfx/pull/54.diff
> Fetch: git fetch https://git.openjdk.java.net/jfx pull/54/head:pull/54

modules/javafx.graphics/src/main/native-iio/jpegloader.c line 1625:

> 1624: 
> 1625:     JSAMPROW scanline_ptr = (JSAMPROW) malloc(bytes_per_row * sizeof \
>                 (JSAMPLE));
> 1626:     if (scanline_ptr == NULL) {

You can remove quite a few calls to `free` if you move the memory allocation for \
`scanline_ptr` just [before it's \
usage](https://github.com/openjdk/jfx/blob/7af932b7f5215949776ec79fb2a5484c521b21a1/modules/javafx.graphics/src/main/native-iio/jpegloader.c#L1690). \
Also free it as soon as you are done with it.

PR: https://git.openjdk.java.net/jfx/pull/54


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic