diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2020-04-17 21:14:01 +0200 |
---|---|---|
committer | bstoeger <32835590+bstoeger@users.noreply.github.com> | 2020-04-18 11:17:32 +0200 |
commit | b1f8b6b9505ea51d951202af1bc909704558293f (patch) | |
tree | 04462ef57a761d1ec10fd9a45955ff42ce26b76d /core | |
parent | af753a52e3f08057f90b047524a806e64f835f00 (diff) | |
download | subsurface-b1f8b6b9505ea51d951202af1bc909704558293f.tar.gz |
profile: avoid double-free when reusing plot_info
free_plot_info_data() freed the pressure-data, but didn't set the
value to NULL. Thus, when the plot_info was reused, a double-free()
could ensue.
Crash condition: export the profiles of multiple dives with pressure
data.
Reported-by: Willem Ferguson <willemferguson@zoology.up.ac.za>
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core')
-rw-r--r-- | core/profile.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/core/profile.c b/core/profile.c index 26488cc30..6914b8301 100644 --- a/core/profile.c +++ b/core/profile.c @@ -499,6 +499,7 @@ void free_plot_info_data(struct plot_info *pi) free(pi->entry); free(pi->pressures); pi->entry = NULL; + pi->pressures = NULL; } static void populate_plot_entries(struct dive *dive, struct divecomputer *dc, struct plot_info *pi) |