mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Make fill_missing_tank_pressures robust against missing cylinder info
The code iterates over a list that can be NULL, but happily dereferenced it anyway. Oops. This function really should be split up and commented more. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
1a05f34ae8
commit
52c3d11d2c
1 changed files with 11 additions and 9 deletions
20
profile.c
20
profile.c
|
@ -1049,16 +1049,18 @@ static void fill_missing_tank_pressures(struct plot_info *pi, pr_track_t **track
|
|||
/* there may be multiple segments - so
|
||||
* let's assemble the length */
|
||||
nlist = list;
|
||||
pt = list->pressure_time;
|
||||
while (!nlist->end) {
|
||||
nlist = nlist->next;
|
||||
if (!nlist) {
|
||||
/* oops - we have no end pressure,
|
||||
* so this means this is a tank without
|
||||
* gas consumption information */
|
||||
break;
|
||||
if (list) {
|
||||
pt = list->pressure_time;
|
||||
while (!nlist->end) {
|
||||
nlist = nlist->next;
|
||||
if (!nlist) {
|
||||
/* oops - we have no end pressure,
|
||||
* so this means this is a tank without
|
||||
* gas consumption information */
|
||||
break;
|
||||
}
|
||||
pt += nlist->pressure_time;
|
||||
}
|
||||
pt += nlist->pressure_time;
|
||||
}
|
||||
if (!nlist) {
|
||||
/* just continue without calculating
|
||||
|
|
Loading…
Reference in a new issue