[PATCH] xml: save the right sensor pressure when we have multiple sensor readings
Linus Torvalds
torvalds at linux-foundation.org
Thu Sep 14 11:13:49 PDT 2017
From: Linus Torvalds <torvalds at linux-foundation.org>
Date: Thu, 14 Sep 2017 11:06:46 -0700
Subject: [PATCH] xml: save the right sensor pressure when we have multiple sensor readings
The XML saving code got the multi-sensor case completely wrong, because
it still had one place where it would always save the first pressure,
rather than the pressure from the right sensor.
This was hidden by the fact that old data would be saved using the
legacy model that only ever used the first sensor slot. Only if you
actually had multiple sensor slots used would the bug trigger.
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
---
This is a serious saving bug if you use the XML format, but it would be
hidden by the fact that you'd have to have a newly downloaded dive with
actual multiple sensors, because loading of old XML dives would never
trigger it, and the single-sensor case also doesn't show it.
So in practice probably nobody actually hit this, but in theory it's a
major data loss.
core/save-xml.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/save-xml.c b/core/save-xml.c
index df6b99eb..d3b9e6c8 100644
--- a/core/save-xml.c
+++ b/core/save-xml.c
@@ -220,7 +220,7 @@ static void save_sample(struct membuffer *b, struct sample *sample, struct sampl
put_pressure(b, p, " o2pressure='", " bar'");
continue;
}
- put_pressure(b, sample->pressure[0], " pressure='", " bar'");
+ put_pressure(b, p, " pressure='", " bar'");
if (sensor != old->sensor[0]) {
put_format(b, " sensor='%d'", sensor);
old->sensor[0] = sensor;
--
2.14.1.538.gc8f31819a
More information about the subsurface
mailing list