subsurface/core
Linus Torvalds a0a631122a xml parsing: add XML_PARSE_HUGE flag to xmlReadMemory()
It looks like libxml2 has some internal limitations by default that
causes parse failures in some situations.  Avoid them with
XML_PARSE_HUGE.

Without this, you get errors like

    test.xml:349250: parser error : internal error: Huge input lookup
    όμουν τουλάχιστον αλλά +2kg και ενδεχομένως +4
                                                                                   ^
when something in the xml file grows too large.

I don't know libxml2 internals, so I have no idea what exactly goes
wrong, but the docs say:

    XML_PARSE_HUGE = 524288 : relax any hardcoded limit from the parser

and that makes us successfully parse the Greek file from Kostas.

Reported-by: Kostas Katsioulis <kostaskatsioulis@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-04-21 08:39:29 -07:00
..
settings cloudstorage: try to pick between multiple cloud servers 2021-04-19 12:51:01 -07:00
subsurface-qt core: remove DiveObjectHelper 2020-12-17 13:03:56 -08:00
android.cpp build-system/android: remove libusb at QTest 2020-04-25 13:18:41 -07:00
btdiscovery.cpp core/BT: fix duplicate entries in BT detection 2021-01-28 12:51:19 -08:00
btdiscovery.h bluetooth discovery: report more information about progress 2020-09-30 16:40:41 -07:00
checkcloudconnection.cpp cleanup: don't hardcode array length 2021-04-19 12:51:01 -07:00
checkcloudconnection.h cloudstorage: try alternative server if first connection fails 2021-04-19 12:51:01 -07:00
cloudstorage.cpp cloudstorage: remove ancient SSL hack 2021-04-19 12:51:01 -07:00
cloudstorage.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
CMakeLists.txt desktop: fold ApplicationState into MainWindow 2021-02-17 07:26:55 -08:00
cochran.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
cochran.h
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: use pointer-to-function connect() in ConfigureDiveComputer 2020-10-06 10:38:45 -07:00
configuredivecomputer.h cleanup: use pointer-to-function connect() in ConfigureDiveComputer 2020-10-06 10:38:45 -07:00
configuredivecomputerthreads.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
configuredivecomputerthreads.h
connectionlistmodel.cpp core/bt: ensure that BT/BLE addresses with name sort first 2020-05-15 04:05:06 +03:00
connectionlistmodel.h Mobile: reinstate roleNames function in ConnectionListModel 2019-04-16 23:43:14 +12:00
datatrak.c core: keep tank infos in a dynamic table 2020-12-13 11:49:59 -08:00
datatrak.h Cleanup: const-ify functions taking dives and divecomputers 2018-08-23 14:41:01 -07:00
deco.c planner: pass in_planner argument to decoMode() 2021-02-17 07:26:55 -08:00
deco.h planner: pass in_planner argument to decoMode() 2021-02-17 07:26:55 -08:00
device.cpp core: don't construct std::string from null in device.cpp 2020-11-04 15:53:15 -08:00
device.h cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
devicedetails.cpp
devicedetails.h
display.h profile: move adding of ceiling-violation-event 2021-01-10 15:57:39 -08:00
dive.c undo: remove invalidate_dive_cache() call from make_first_dc() 2021-01-11 08:42:17 -08:00
dive.h profile: pass dive to plot function of profile-items 2021-01-10 15:57:39 -08:00
divecomputer.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
divecomputer.h cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
divefilter.cpp cleanup: ensure DiveFilter is consistent when created 2021-01-01 12:38:50 -08:00
divefilter.h filter: provide function that returns all shown dives 2020-12-29 08:34:09 -08:00
divelist.c core: initialize dive selection after resetting the data 2021-03-31 13:54:23 +02:00
divelist.h planner: pass in_planner argument to add_segment() 2021-02-17 07:26:55 -08: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 mobile/edit: don't add dive site twice to table 2020-03-17 14:05:24 -07:00
divesite.h cleanup: move dive_table from dive.h to divelist.h 2020-05-01 09:42:31 -07:00
divesitehelpers.cpp cleanup: use taxonomy_get_value() instead of taxonomy_get_index() 2020-09-06 12:59:54 -07:00
divesitehelpers.h [Bug #2934] Geo Lookup - support for remote dive sites 2020-09-05 17:34:15 +02:00
downloadfromdcthread.cpp core: fix incorrect QString::asprintf/vasprintf usage 2020-11-17 12:56:40 -08:00
downloadfromdcthread.h downloader: small improvements 2020-12-03 13:26:55 -08:00
equipment.c core: correct AL* tankinfo sizes. 2020-12-17 08:10:56 -08:00
equipment.h core: keep tank infos in a dynamic table 2020-12-13 11:49:59 -08: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
event.c cleanup: break out event-related code into event.[c|h] 2020-10-25 13:59:52 -07:00
event.h cleanup: break out event-related code into event.[c|h] 2020-10-25 13:59:52 -07:00
exif.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
exif.h
extradata.h cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
file.c cloudstorage: some cleanup of cloud url handling 2021-04-19 12:51:01 -07:00
file.h devices: create device nodes in parsers 2020-10-24 09:51:37 -07:00
filterconstraint.cpp core: move formatting of day-of-week to string-format.cpp 2021-01-01 21:10:10 +01:00
filterconstraint.h filter: add tank size filter constraint 2020-10-03 10:29:15 -07:00
filterpreset.cpp filter: remove filter_preset_table_t 2020-10-17 09:04:20 -07:00
filterpreset.h filter: remove filter_preset_table_t 2020-10-17 09:04:20 -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
fulltext.cpp filter: implement importing of filter presets 2020-09-29 16:13:03 -07:00
fulltext.h fulltext: remember original query 2020-09-29 16:13:03 -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 Use PSCR gas when computing O2 toxicity 2021-03-12 22:24:23 +01:00
gas.h Use PSCR gas when computing O2 toxicity 2021-03-12 22:24:23 +01:00
gaspressures.c cleanup: constify populate_pressure_information() 2021-01-20 10:01:50 -08:00
gaspressures.h cleanup: constify populate_pressure_information() 2021-01-20 10:01:50 -08:00
gettext.h
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 cloudstorage: update remote if cloud server changes 2021-04-19 12:51:01 -07:00
git-access.h cleanup: don't hardcode array length 2021-04-19 12:51:01 -07:00
gpslocation.cpp mobile/debugging: copy GPS fixes to clipboard 2021-01-23 13:19:11 -08:00
gpslocation.h mobile/debugging: copy GPS fixes to clipboard 2021-01-23 13:19:11 -08:00
imagedownloader.cpp core: add "transparent" parameter to renderSVGIcon 2021-01-01 21:10:10 +01:00
imagedownloader.h Profile: add "synchronous" mode for picture plotting 2019-02-07 16:06:43 +01:00
import-cobalt.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
import-csv.c cleanup: move variable declaration closer to use 2020-10-26 19:27:03 -07:00
import-csv.h parser: add device_table to parser state 2020-10-24 09:51:37 -07:00
import-divinglog.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
import-seac.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
import-shearwater.c cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
import-suunto.c cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
interpolate.h cleanup: move interpolate inline function to its own header file 2020-10-25 13:59:52 -07:00
ios.cpp cloud-storage: simplify creation of git authorship 2020-04-09 17:05:44 -07:00
libdivecomputer.c cleanup: remove unused function argument 2020-10-26 19:27:03 -07:00
libdivecomputer.h divecomputer: add device_table pointer to device_data_t 2020-10-24 09:51:37 -07:00
liquivision.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
load-git.c cleanup: don't hardcode array length 2021-04-19 12:51:01 -07:00
macos.c cloud-storage: simplify creation of git authorship 2020-04-09 17:05:44 -07:00
membuffer.c membuffer: be defensive about bad C library vsnprintf implementations 2020-10-01 13:43:21 -07:00
membuffer.h Don't expose 'detach_buffer()' to membuffer users 2019-10-27 12:42:54 -07:00
metadata.cpp cleanup: remove getDivesInTrip() in qthelper.cpp 2020-12-29 08:34:09 -08:00
metadata.h Add 'location_t' data structure 2018-10-21 19:55:09 +03:00
metrics.cpp desktop: cache photo and geo icons 2021-02-10 14:33:15 -08:00
metrics.h desktop: cache photo and geo icons 2021-02-10 14:33:15 -08:00
ostctools.c cleanup: move sort_dive_table declaration to divetable.h 2020-10-25 13:59:52 -07:00
parse-gpx.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
parse-gpx.h cleanup: only include QString in desktop-widgets/importgps.h 2020-05-01 09:42:31 -07:00
parse-xml.c xml parsing: add XML_PARSE_HUGE flag to xmlReadMemory() 2021-04-21 08:39:29 -07:00
parse.c parser: initialize picture variable 2021-03-08 16:29:04 -08:00
parse.h cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
picture.c core/picture: don't compile all on mobile 2020-11-19 17:18:33 -08:00
picture.h core: move picture-related function from dive.c to picture.c 2020-05-06 13:58:09 -07:00
pictureobj.cpp media: add small C++ helper describing a picture struct 2020-05-06 13:58:09 -07:00
pictureobj.h media: add small C++ helper describing a picture struct 2020-05-06 13:58:09 -07:00
planner.c Planner: Depth dependent setpoint changes in CCR mode 2021-02-26 08:42:30 -08:00
planner.h cleanup: move DECOTIMESTEP from dive.h to planner.h 2020-05-01 09:42:31 -07:00
plannernotes.c planner: pass in_planner argument to decoMode() 2021-02-17 07:26:55 -08:00
pref.c cloudstorage: try to pick between multiple cloud servers 2021-04-19 12:51:01 -07:00
pref.h cloudstorage: some cleanup of cloud url handling 2021-04-19 12:51:01 -07:00
profile.c planner: fix deco calculation 2021-03-24 10:30:22 -07:00
profile.h cleanup: constify create_plot_info_new() 2021-01-20 10:01:50 -08:00
qt-ble.cpp Use QtBluetooth enums from their namespace 2021-03-12 08:41:31 -08:00
qt-ble.h cleanup: remove dc_user_device_t 2020-10-24 09:51:37 -07:00
qt-gui.h mobile/UI: remember the system default font size 2021-01-19 12:35:29 -08:00
qt-init.cpp cleanup: remove getDivesInTrip() in qthelper.cpp 2020-12-29 08:34:09 -08:00
qthelper.cpp cloudstorage: create consistent local directory names 2021-04-19 12:51:01 -07:00
qthelper.h cloudstorage: update remote if cloud server changes 2021-04-19 12:51:01 -07:00
qtserialbluetooth.cpp Use QtBluetooth enums from their namespace 2021-03-12 08:41:31 -08:00
sample.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
sample.h cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
save-git.c cleanup: don't save PASCAL pressure units to git 2021-01-02 10:26:29 -08:00
save-html.c cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
save-html.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
save-profiledata.c Fix CSV for profile export 2020-04-18 13:41:29 +02:00
save-profiledata.h Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
save-xml.c xml parsing: add XML_PARSE_HUGE flag to xmlReadMemory() 2021-04-21 08:39:29 -07:00
selection.cpp selection: when changing current dive make sure it is selected 2020-09-20 18:23:57 -07:00
selection.h selection: create global single_selected_trip() function 2020-05-03 15:02:21 -07:00
serial_ftdi.c core: fix libdivecomputer dc_custom callbacks structures 2020-06-18 09:05:13 -07:00
serial_usb_android.cpp android/usb: remove "autoselect driver" option for unknown VID/PIDs 2020-03-16 07:58:20 -07:00
serial_usb_android.h android/usb: pass in the UsbDevice when downloading 2020-03-16 07:58:20 -07:00
sha1.c
sha1.h
ssrf.h core: remove LOG_STP from mobile 2019-12-13 07:04:00 -05:00
statistics.c cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
statistics.h cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
string-format.cpp core: move formatting of day-of-week to string-format.cpp 2021-01-01 21:10:10 +01:00
string-format.h core: move formatting of day-of-week to string-format.cpp 2021-01-01 21:10:10 +01:00
strndup.h
strtod.c Core: introduce new subsurface-string header 2018-05-14 10:13:39 -07:00
structured_list.h media: use table instead of linked list for media 2020-05-06 13:58:09 -07:00
subsurface-string.h Core: don't inline rarely used function 2018-05-14 10:13:39 -07:00
subsurface-time.h cleanup: const-ify utc_mktime() 2020-12-29 08:34:09 -08:00
subsurfacestartup.c cleanup: move pref related structs and functions to pref.c 2021-01-02 10:26:29 -08:00
subsurfacestartup.h cleanup: move application flags to core/subsurfacehelper.h 2020-10-25 13:59:52 -07:00
subsurfacesysinfo.cpp cleanup: refactor subsurfacesysinfo.cpp 2020-10-27 16:18:09 -07:00
subsurfacesysinfo.h cleanup: refactor subsurfacesysinfo.cpp 2020-10-27 16:18:09 -07:00
table.h media: create sort_picture_table function via macro 2020-05-06 13:58:09 -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 cleanup: make taxonomy_index_for_category() local to taxonomy.c 2020-09-06 12:59:54 -07:00
taxonomy.h cleanup: make taxonomy_index_for_category() local to taxonomy.c 2020-09-06 12:59:54 -07:00
time.c cleanup: const-ify utc_mktime() 2020-12-29 08:34:09 -08:00
timer.c Add timestamps to libdivecomputer.log 2020-03-10 17:42:54 -07:00
timer.h Add timestamps to libdivecomputer.log 2020-03-10 17:42:54 -07:00
trip.c cleanup: fix over-eager Coverity warnings 2020-10-25 13:58:03 -07:00
trip.h selection: add selection flag for trips 2020-05-03 15:02:21 -07:00
uemis-downloader.c cleanup: initialize all members of weightsystem 2020-10-26 19:27:03 -07:00
uemis.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
uemis.h Dive site: use pointer instead of uuid in uemis_helper 2018-10-29 00:09:31 +00:00
units.c cleanup: move definition of get_units() to core/unit.c 2021-01-02 10:26:29 -08:00
units.h Implement Seac SeacSync databaser parser. 2020-09-04 15:54:08 +03:00
unix.c cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
uploadDiveLogsDE.cpp core: fix incorrect changes in divelogs.de export 2020-02-17 10:50:51 -08:00
uploadDiveLogsDE.h Cleanup: remove const bool parameters and return types 2020-02-09 12:13:18 -08:00
uploadDiveShare.cpp core: divehare avoid race problem. 2019-12-12 10:10:01 -05:00
uploadDiveShare.h core: divehare change slot names 2019-12-12 10:10:01 -05:00
version.c
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
windows.c cleanup: refactor subsurfacesysinfo.cpp 2020-10-27 16:18:09 -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 dive_table from dive.h to divelist.h 2020-05-01 09:42:31 -07:00
worldmap-save.h Cleanup: remove const bool parameters and return types 2020-02-09 12:13:18 -08:00
xmlparams.cpp core: add a small helper-struct that keeps track of xml-parameters 2020-10-23 18:17:02 -07:00
xmlparams.h core: add a small helper-struct that keeps track of xml-parameters 2020-10-23 18:17:02 -07:00
xmp_parser.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
xmp_parser.h Metadata: rudimentary support for XMP metadataa in MP4-based videos 2018-09-25 14:59:14 -07:00