subsurface/core
Berthold Stoeger 794066b236 Cylinders: access cylinders with get_cylinder()
Instead of accessing the cylinder table directly, use the get_cylinder()
function. This gives less unwieldy expressions. But more importantly,
the function does bound checking. This is crucial for now as the code
hasn't be properly audited since the change to arbitrarily sized
cylinder tables. Accesses of invalid cylinder indexes may lead to
silent data-corruption that is sometimes not even noticed by
valgrind. Returning NULL instead of an invalid pointer will make
debugging much easier.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-11-09 19:19:04 +01:00
..
settings Planner: Add option to treat O2 as narcotic 2019-10-31 00:30:38 -07:00
subsurface-qt Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
android.cpp Android: print Android HW information 2019-09-21 15:13:10 -07:00
applicationstate.cpp Turn application state into enum 2019-05-12 12:33:55 -07:00
applicationstate.h Turn application state into enum 2019-05-12 12:33:55 -07:00
btdiscovery.cpp Mares: improve BT discovery logic 2019-10-26 04:39:32 -07:00
btdiscovery.h Revert the singleton PR 2019-09-27 16:26:58 -07:00
checkcloudconnection.cpp Cloud storage: remove outdated certificate hack 2019-10-09 22:38:29 +03:00
checkcloudconnection.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
cloudstorage.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
cloudstorage.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
CMakeLists.txt Cleanup: move gas-functions to own translation unit 2019-06-19 13:11:10 -07:00
cochran.c Core: remove MAX_CYLINDERS restriction 2019-11-09 19:19:04 +01:00
cochran.h Cochran import: better support for older models 2017-05-31 21:53:00 -07:00
color.cpp Cleanup: silence clang missing braces warning in core/color.cpp 2018-09-01 11:31:18 -07:00
color.h Indicate negative cylider pressure 2019-08-08 08:56:44 -07:00
compressibility.r
configuredivecomputer.cpp Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
configuredivecomputer.h Fix broken windows build with latest MXE 2019-08-29 12:55:25 -07:00
configuredivecomputerthreads.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
configuredivecomputerthreads.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
connectionlistmodel.cpp Mobile: reinstate roleNames function in ConnectionListModel 2019-04-16 23:43:14 +12:00
connectionlistmodel.h Mobile: reinstate roleNames function in ConnectionListModel 2019-04-16 23:43:14 +12:00
datatrak.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
datatrak.h Cleanup: const-ify functions taking dives and divecomputers 2018-08-23 14:41:01 -07:00
deco.c Parser: remove global state 2019-08-08 16:26:31 -07:00
deco.h Parser: remove global state 2019-08-08 16:26:31 -07:00
device.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
device.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
devicedetails.cpp Implement OSTC4 specific settings 2017-05-04 10:50:15 -07:00
devicedetails.h Implement OSTC4 specific settings 2017-05-04 10:50:15 -07:00
display.h Core: remove MAX_CYLINDERS restriction 2019-11-09 19:19:04 +01:00
dive.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
dive.h Core: remove MAX_CYLINDERS restriction 2019-11-09 19:19:04 +01:00
divecomputer.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
divecomputer.h Dive computers: turn QMultiMap into sorted vector 2018-06-17 06:53:13 +09:00
divelist.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
divelist.h Core: implement move functions for dive and dive_site table 2019-10-02 08:04:49 -07:00
divelogexportlogic.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
divelogexportlogic.h avoid duplicate and inconsistent applying of QDir::separator() 2019-03-27 07:36:33 -07:00
divemode.h Cleanup: move planner/deco related declarations planner/deco.h 2019-08-08 16:26:31 -07:00
divesite-helper.cpp Dive site: use own copy of taxonomy in dive-site-edit widget 2018-10-13 21:41:41 -04:00
divesite.c Core: implement move functions for dive and dive_site table 2019-10-02 08:04:49 -07:00
divesite.h Cleanup: remove dive_table and dive_site_table Q_METATYPEs 2019-10-02 08:04:49 -07:00
divesitehelpers.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
divesitehelpers.h Geo lookup: don't pass arguments / result via global object 2018-10-11 16:25:02 -07:00
downloadfromdcthread.cpp Import: keep dive and dive site tables in DiveImportedModel 2019-10-02 08:04:49 -07:00
downloadfromdcthread.h Import: keep dive and dive site tables in DiveImportedModel 2019-10-02 08:04:49 -07:00
equipment.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
equipment.h Cleanup: return cylinder from add_empty_cylinder() 2019-11-09 19:19:04 +01:00
errorhelper.c Don't expose 'detach_buffer()' to membuffer users 2019-10-27 12:42:54 -07:00
errorhelper.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
exif.cpp Coding-style: remove superfluous parentheses 2018-02-17 19:38:52 -08:00
exif.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
file.c Fix potential crash when saved_git_id is NULL 2019-08-10 20:59:53 +02:00
file.h Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
format.cpp Cleanup: Slightly shorten code in vqasprintf_loc() 2018-04-09 11:29:43 -07:00
format.h Cleanup: Move *_loc formatting functions into new format.cpp file 2018-04-09 11:29:43 -07:00
gas-model.c Cleanup: replace macro by inline function in gas-model.c 2019-08-08 15:22:09 -07:00
gas.c Cleanup: move gas-functions to own translation unit 2019-06-19 13:11:10 -07:00
gas.h Cleanup: move gas-functions to own translation unit 2019-06-19 13:11:10 -07:00
gaspressures.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
gaspressures.h Cleanup: Make gaspressures.h a regular include file 2019-06-19 13:11:10 -07:00
gettext.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
gettextfromc.cpp Localization: make cache thread safe and robust against use-after-free 2018-06-24 20:31:14 +02:00
gettextfromc.h Localization: remove gettextFromC::instance() 2018-06-24 20:31:14 +02:00
git-access.c Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
git-access.h prefs: git_local_only is not a preference 2018-09-10 16:26:49 -07:00
gpslocation.cpp Mobile: provide better tracking of applied GPS fixes 2019-10-26 11:38:26 -07:00
gpslocation.h Mobile: provide better tracking of applied GPS fixes 2019-10-26 11:38:26 -07:00
imagedownloader.cpp Core: remove variable name conflict 2019-03-18 19:40:32 -07:00
imagedownloader.h Profile: add "synchronous" mode for picture plotting 2019-02-07 16:06:43 +01:00
import-cobalt.c Cleanup: return cylinder from cylinder_start() in parser 2019-11-09 19:19:04 +01:00
import-csv.c Core: remove MAX_CYLINDERS restriction 2019-11-09 19:19:04 +01:00
import-csv.h Parser: parse into custom dive site table 2019-04-12 18:19:07 +03:00
import-divinglog.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
import-shearwater.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
import-suunto.c Cleanup: return cylinder from cylinder_start() in parser 2019-11-09 19:19:04 +01:00
ios.cpp Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
libdivecomputer.c Core: remove MAX_CYLINDERS restriction 2019-11-09 19:19:04 +01:00
libdivecomputer.h Core: unconditionally include stdio.h in libdivecomputer.h 2019-08-10 09:16:01 -07:00
liquivision.c Core: remove MAX_CYLINDERS restriction 2019-11-09 19:19:04 +01:00
load-git.c Core: remove MAX_CYLINDERS restriction 2019-11-09 19:19:04 +01:00
macos.c Add missing header files to macos.c 2019-08-11 08:20:38 +02:00
membuffer.c Don't expose 'detach_buffer()' to membuffer users 2019-10-27 12:42:54 -07:00
membuffer.h Don't expose 'detach_buffer()' to membuffer users 2019-10-27 12:42:54 -07:00
metadata.cpp Add 'location_t' data structure 2018-10-21 19:55:09 +03:00
metadata.h Add 'location_t' data structure 2018-10-21 19:55:09 +03:00
metrics.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
metrics.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
ostctools.c Cleanup: clean up resource handling in ostctools.c 2019-10-26 19:17:53 -07:00
parse-xml.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
parse.c Cleanup: return cylinder from add_empty_cylinder() 2019-11-09 19:19:04 +01:00
parse.h Cleanup: return cylinder from cylinder_start() in parser 2019-11-09 19:19:04 +01:00
planner.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
planner.h Cleanup: remove global disclaimer variable 2019-09-10 21:31:21 +02:00
plannernotes.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
pref.h Planner: Add option to treat O2 as narcotic 2019-10-31 00:30:38 -07:00
profile.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
profile.h Profile: dynamically allocate plot pressure data 2019-11-09 19:19:04 +01:00
qt-ble.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
qt-ble.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
qt-gui.h core,tests: change qml register function 2018-09-11 17:22:58 -07:00
qt-init.cpp Stop support Qt versions before 5.9 2019-10-14 13:37:17 -07:00
qthelper.cpp Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
qthelper.h Stop support Qt versions before 5.9 2019-10-14 13:37:17 -07:00
qtserialbluetooth.cpp drop support for Qt 5.4 and before 2019-03-27 07:36:33 -07:00
save-git.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
save-html.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
save-html.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
save-profiledata.c Core: remove MAX_CYLINDERS restriction 2019-11-09 19:19:04 +01:00
save-profiledata.h Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
save-xml.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
serial_ftdi.c Fix Cressi interface ftdi opening bug 2018-11-18 20:01:28 +02:00
sha1.c
sha1.h
ssrf.h mobile: add timer to measure startup. 2018-05-30 21:47:07 -07:00
statistics.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
statistics.h Core: dynamically allocate the result of get_gas_used() 2019-11-09 19:19:04 +01:00
strndup.h
strtod.c Core: introduce new subsurface-string header 2018-05-14 10:13:39 -07:00
structured_list.h Cleanup: fix comment to STRUCTURED_LIST_FREE 2019-06-19 13:11:10 -07:00
subsurface-string.h Core: don't inline rarely used function 2018-05-14 10:13:39 -07:00
subsurfacestartup.c Planner: Add option to treat O2 as narcotic 2019-10-31 00:30:38 -07:00
subsurfacestartup.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
subsurfacesysinfo.cpp drop support for Qt 5.4 and before 2019-03-27 07:36:33 -07:00
subsurfacesysinfo.h drop support for Qt 5.4 and before 2019-03-27 07:36:33 -07:00
table.h Core: implement move functions for dive and dive_site table 2019-10-02 08:04:49 -07:00
tag.c Don't expose 'detach_buffer()' to membuffer users 2019-10-27 12:42:54 -07:00
tag.h Cleanup: move tag functions into own translation unit 2019-06-19 13:11:10 -07:00
taxonomy.c Dive site: use own copy of taxonomy in dive-site-edit widget 2018-10-13 21:41:41 -04:00
taxonomy.h Dive site: use own copy of taxonomy in dive-site-edit widget 2018-10-13 21:41:41 -04:00
time.c
trip.c Cleanup: fix obvious resource leak 2019-10-26 19:17:53 -07:00
trip.h Core: add unique id to trip 2019-09-21 16:12:23 -07:00
uemis-downloader.c Cleanup: consider lseek return value 2019-10-27 07:35:46 -07:00
uemis.c Core: remove MAX_CYLINDERS restriction 2019-11-09 19:19:04 +01:00
uemis.h Dive site: use pointer instead of uuid in uemis_helper 2018-10-29 00:09:31 +00:00
units.c Fix broken windows build with latest MXE 2019-08-29 12:55:25 -07:00
units.h Fix broken windows build with latest MXE 2019-08-29 12:55:25 -07:00
unix.c Don't expose 'detach_buffer()' to membuffer users 2019-10-27 12:42:54 -07:00
version.c Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
version.h
videoframeextractor.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
videoframeextractor.h Dive media: Extract thumbnails from videos with ffmpeg 2018-07-28 15:31:25 -07:00
webservice.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
windows.c Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
windowtitleupdate.cpp Cleanup: Make WindowsTitleUpdate a global object 2018-07-30 13:55:23 -07:00
windowtitleupdate.h Cleanup: Make WindowsTitleUpdate a global object 2018-07-30 13:55:23 -07:00
worldmap-options.h
worldmap-save.c Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
worldmap-save.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
xmp_parser.cpp Cleanup: use helper to avoid NULL dereference 2019-10-28 05:44:33 -07:00
xmp_parser.h Metadata: rudimentary support for XMP metadataa in MP4-based videos 2018-09-25 14:59:14 -07:00