From: Stefan Beller <hidden> Date: 2016-06-15 23:04:18
Here comes another bunch of memory leaks fixed.
patches 1-4 are safe bets, but 5 and 6 are not so.
In patch 5 I wonder if we need to fix more aggressively and
in patch 6 I just know there is a leak but I have no idea how to
actually fix it.
Stefan Beller (6):
shallow: fix a memleak
line-log.c: fix a memleak
line-log.c: fix a memleak
wt-status.c: fix a memleak
pack-bitmap: fix a memleak
WIP/RFC/entry.c: fix a memleak
entry.c | 4 +++-
line-log.c | 4 ++++
pack-bitmap.c | 27 ++++++++++++++++++---------
shallow.c | 4 ++--
wt-status.c | 2 ++
5 files changed, 29 insertions(+), 12 deletions(-)
--
2.3.0.81.gc37f363
From: Stefan Beller <hidden> Date: 2016-06-15 23:04:18
The `filepair` is assigned new memory with any iteration via
process_diff_filepair, so free it before the current iteration ends.
Signed-off-by: Stefan Beller <redacted>
---
line-log.c | 1 +
1 file changed, 1 insertion(+)
From: Stefan Beller <hidden> Date: 2016-06-15 23:04:18
`recent_bitmaps` is allocated in the function load_bitmap_entries_v1
and it is not passed into any function, so it's safe to free it before
leaving that function.
Signed-off-by: Stefan Beller <redacted>
---
Notes:
I wonder however if we need to free the actual bitmaps
stored in the recent_bitmaps as well.
pack-bitmap.c | 27 ++++++++++++++++++---------
1 file changed, 18 insertions(+), 9 deletions(-)
From: Stefan Beller <hidden> Date: 2016-06-15 23:04:18
In any code path of shorten_unambiguous_ref the return value is a
xstrdup(some string), so it is safe to free the variable `base`
in any codepath.
Signed-off-by: Stefan Beller <redacted>
---
wt-status.c | 2 ++
1 file changed, 2 insertions(+)
From: Stefan Beller <hidden> Date: 2016-06-15 23:04:18
`recent_bitmaps` is allocated in the function load_bitmap_entries_v1
and it is not passed into any function, so it's safe to free it before
leaving that function.
Signed-off-by: Stefan Beller <redacted>
---
Notes:
I wonder however if we need to free the actual bitmaps
stored in the recent_bitmaps as well.
pack-bitmap.c | 27 ++++++++++++++++++---------
1 file changed, 18 insertions(+), 9 deletions(-)
From: Stefan Beller <hidden> Date: 2016-06-15 23:04:18
I observe that filter is going out of scope, but the
implementation proposed in this patch produces just a
crash instead of any helpful fix.
Signed-off-by: Stefan Beller <redacted>
---
entry.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
From: Stefan Beller <hidden> Date: 2016-06-15 23:04:18
In any code path of shorten_unambiguous_ref the return value is a
xstrdup(some string), so it is safe to free the variable `base`
in any codepath.
Signed-off-by: Stefan Beller <redacted>
---
wt-status.c | 2 ++
1 file changed, 2 insertions(+)
From: Stefan Beller <hidden> Date: 2016-06-15 23:04:18
On Fri, Mar 27, 2015 at 3:09 PM, Stefan Beller [off-list ref] wrote:
Here comes another bunch of memory leaks fixed.
patches 1-4 are safe bets, but 5 and 6 are not so.
In patch 5 I wonder if we need to fix more aggressively and
in patch 6 I just know there is a leak but I have no idea how to
actually fix it.
And I sent 12 instead of 6 patches because I needed to fine tune the
order of the patch set and I forgot to delete the un-tuned version.