2026-10-13 20:36 BST

View Issue Details [ Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002599LibSVGTiny[All Projects] Generalpublic2026-10-06 00:02
ReporterFelix S. 
Assigned ToVincent Sanders 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
Summary0002599: libsvgtiny uses sscanf() to parse decimal fractions in path data, which is locale-dependent
Descriptionlibsvgtiny uses the C standard library function sscanf() to parse decimal fractions into floating-point values. Unfortunately, the exact format accepted by this function is locale-dependent. This makes parsing fail in locales where the decimal point character is different from '.'.

Given that sscanf() does not offer a portable way to enforce locale-independent parsing, libsvgtiny should probably implement its own fraction-parsing function from scratch.
Steps To Reproduce0. Ensure that the de_DE.UTF-8 locale (or any other locale with decimal point ',') is available on your system.
1. In libsvgtiny's test/data/ directory, launch `LC_NUMERIC=de_DE.UTF-8 netsurf-fb file://`pwd`/tiger.svg` from the shell (replacing de_DE.UTF-8 with the respective locale if necessary).
2. Observe numerous 'parse failed at ...' messages in the console.
3. In the same directory, launch `LC_NUMERIC=C netsurf-fb file://`pwd`/tiger.svg`.
4. Observe no failure messages.
TagsNo tags attached.
Fixed in CI build #
Reported in CI build #
Attached Files

-Relationships
+Relationships

-Notes
Michael Drake

~0001889

Michael Drake (administrator)

Thanks for the report. You're right. This will require quite a rewrite of libsvgtiny's parsing code. We'll try to get around to it some time, but we're all busy with other things at the moment.

If anyone's interested in helping please get in touch.
John-Mark Bell

~0002522

John-Mark Bell (administrator)

svgtiny's parser was rewritten in 2024 -- it is now locale-agnostic.
+Notes

-Issue History
Date Modified Username Field Change
2018-05-11 07:36 Felix S. New Issue
2019-02-16 18:27 Vincent Sanders Assigned To => Michael Drake
2019-02-16 18:27 Vincent Sanders Status new => confirmed
2019-02-17 10:30 Michael Drake Note Added: 0001889
2026-10-06 00:02 John-Mark Bell Assigned To Michael Drake => Vincent Sanders
2026-10-06 00:02 John-Mark Bell Status confirmed => resolved
2026-10-06 00:02 John-Mark Bell Resolution open => fixed
2026-10-06 00:02 John-Mark Bell Note Added: 0002522
+Issue History