Commit Graph

150 Commits (master)

Author SHA1 Message Date
Mikko Mononen bd16c4e6b2
Merge pull request #222 from 0vercl0k/fbl_fixoob2
Fix OOB in nsvg__parseUrl.
2022-08-10 20:16:49 +03:00
0vercl0k 402437f68a Fix OOB in nsvg__parseUrl. 2022-08-10 09:08:39 -07:00
Mikko Mononen 7e37e00ef4
Merge pull request #220 from fltk/fix-rgb-color-locale
Make nsvg__parseColorRGB() independent of the current locale (#139)
2022-07-09 22:26:40 +03:00
Mikko Mononen ed3c01b809
Merge pull request #219 from fltk/fix-header-guards-eol
Fix newline at end of file, add comments
2022-07-09 22:12:31 +03:00
Albrecht Schlosser d2002eeaf2 Make nsvg__parseColorRGB() independent of the current locale (#139)
This commit fixes the locale dependency (re-)introduced by commit
c3ad36ef81 by using sscanf() to parse
floating point values.

This modification uses nsvg__atof() which is independent of the
current locale.
2022-07-08 19:25:39 +02:00
Albrecht Schlosser c73393fc7a Fix newline at end of file, add comments
Fix "No newline at end of file" warning. The newline was removed
by commit 47f28a2a78, probably unintentionally.

Add missing comments to #endif statements for clarity and consistency.
2022-07-08 17:05:17 +02:00
Mikko Mononen 3bcdf2f3cd
Merge pull request #215 from tamasmeszaros/tm_fix_includes
Fix build when both nanosvg.h and nanosvgrast.h is included
2022-05-26 21:33:24 +03:00
tamasmeszaros 47f28a2a78 Fix build when both nanosvg.h and nanosvgrast.h is included
with IMPLEMENTATION macros defined.
2022-05-26 09:34:53 +02:00
Mikko Mononen 4c8f0139b6
Merge pull request #209 from tamasmeszaros/cmake_build
Add CMake build script to the project
2022-05-09 21:55:49 +03:00
Mikko Mononen 4cd3610aee
Merge pull request #210 from chrstphrchvz/patch-2
Avoid calling `qsort()` when `r->nedges == 0`
2022-05-07 21:34:00 +03:00
Christopher Chavez 6c8ee8211a Avoid calling qsort() when r->nedges == 0
In some unusual cases, r->nedges == 0 and r->edges == NULL.
At least glibc declares the array pointer for qsort() to be non-NULL,
causing UBSan (-fsanitize=nonnull-attribute) to complain.
2022-05-07 07:42:10 -05:00
tamasmeszaros 0985b6646b Remove redundant line 2022-05-04 14:39:07 +02:00
tamasmeszaros c995d1026e Fix linking on MSVC 2022-05-04 14:22:14 +02:00
tamasmeszaros b21ebe01b8 Add CMake build script to the project
Also add short description into readme
2022-05-04 09:33:58 +02:00
Mikko Mononen 03042a6297
Merge pull request #207 from chrstphrchvz/patch-1
Avoid signed integer overflow in nsvg__RGBA()
2022-04-29 19:04:53 +03:00
Christopher Chavez c7f173b71b Avoid signed integer overflow in nsvg__RGBA()
`a` is implicitly cast to (signed) `int` before shifting, and when `int`
is 32-bit, it is undefined behavior to left-shift `a` by 24 when its
most significant bit is 1. Error from UBSan (`-fsanitize=shift-base`):

nanosvgrast.h:975:41: runtime error: left shift of 255 by 24 places
cannot be represented in type 'int'

Casting `a` to `unsigned int` before shifting avoids undefined behavior.
2022-04-28 17:54:25 -05:00
Mikko Mononen 214cf85efc
Merge pull request #205 from AuthorityFX/master
Fixed rbg percentage parsing in nsvg__parseColorRGB
2022-04-08 00:57:43 +03:00
Ryan P. Wilson a5486fa30d roundf instead of round
move declaration of rgb floats to top of block
2022-04-07 14:40:00 -04:00
Ryan P. Wilson c3ad36ef81 Fixed rbg percentage parsing in nsvg__parseColorRGB 2022-04-06 21:47:26 -04:00
Mikko Mononen ccdb199513
Merge pull request #198 from ctrlcctrlv/CVE_2019_1000032
Fix decimal values in color fields (nsvg__parseColorRGB, nsvg__parseColorHex)
2021-09-03 21:24:42 +03:00
Greg Ercolano 419782d3d1 Fix decimal values in color fields (nsvg__parseColorRGB)
Closes #136, fixes [CVE-2019-1000032](https://0day.work/cve-2019-1000032-memory-corruption-in-nanosvg/).
2021-09-03 07:10:23 -04:00
Mikko Mononen 3cdd4a9d78
Merge pull request #196 from oehhar/master
Fix for ticket #179 "division by 0" proposed by SergeySlice
2021-03-30 23:20:21 +03:00
Harald Oehlmann 44e5e4c765 Fix for ticket #179 "division by 0" proposed by SergeySlice 2021-03-29 13:19:14 +02:00
Mikko Mononen 3e403ec72a
Merge pull request #189 from fvogelnew1/Fix-for-#188
Update nanosvg.h
2020-11-20 12:53:11 +02:00
fvogelnew1 45eb9f8bcc
Update nanosvg.h
Fix https://github.com/memononen/nanosvg/issues/188
2020-11-19 22:20:57 +01:00
Mikko Mononen cc6c08d3a8 Restore example2 test file 2020-09-28 22:00:06 +03:00
Mikko Mononen ddd39e9669 Fix for #185
- prevent infinite loop when gradient ID is left to empty string
- prevent infinite loop when gradient references to self
- lookup up to 32 references back
2020-09-28 10:49:46 +03:00
Mikko Mononen e7f5981b1e Fix for #178
- make sure nsvg__addPath() hands only valid number of pointts (1+N*3)
- require moveTo path command before handling other commands
- require (sign+)digit for a valid path command coordinate
- allow to add bezier segment only after there’s at leat one point (now
also consistent with nsvg__lineTo)
2020-09-28 10:35:41 +03:00
Mikko Mononen 07a5e2a33c
Merge pull request #182 from oehhar/master
Ticket #178: endless loop (DOS) when parsing crafted input via nsvgPa…
2020-09-21 20:57:26 +03:00
Harald Oehlmann dac455fd94 Ticket #178: endless loop (DOS) when parsing crafted input via nsvgParseFromFile()
Fix be fvogel
2020-09-21 13:53:54 +02:00
Mikko Mononen 25241c5a8f
Update README.md 2019-04-22 21:57:37 +03:00
Mikko Mononen 3e2a632c29
Merge pull request #152 from darealshinji/patch-2
don't cast long long -> double -> long long
2019-04-05 14:01:47 +03:00
Mikko Mononen 7cd94e3191
Merge pull request #154 from jzrake/master
Fix parsing of numbers with units ex and em
2019-03-08 22:33:32 +02:00
Jonathan Zrake dc46f954b6 Fix parsing of numbers with units ex and em
Unrelated: kill precision warning in nsvg__atof, make expPart long.
2019-03-08 14:17:16 -05:00
darealshinji 8c360e4214
don't cast long long -> double -> long long 2019-03-05 17:19:28 +01:00
Mikko Mononen c1f6e209c1
Merge pull request #145 from wcout/issue_139
Fix issue #139: Nano SVG is still locale dependent
2018-12-14 22:22:57 +02:00
wcout 78e7627d10 Fix issue #139: Nano SVG is still locale dependent 2018-12-14 20:02:31 +01:00
Mikko Mononen 2b08deeb55
Merge pull request #128 from poke1024/cpluscplus
Add option for cpp symbol export
2018-08-08 10:38:26 +03:00
Bernhard Liebl 773d84acaf Add option for cpp symbol export 2018-08-08 07:21:54 +02:00
Mikko Mononen 35a45f3396 Merge branch 'pr/63' 2018-07-22 23:08:43 +03:00
Mikko Mononen 06c1f0f3bb
Merge pull request #116 from porglezomp-misc/master
Parse <svg> percentage width for automatic sizing
2018-04-14 06:50:42 +03:00
Caleb Jones d6eabf29c9 Parse <svg> percentage width for automatic sizing
Instead of calculating percentage coordinates relative to 1px, we calculate them
relative to 0px width, that way an explicit <svg width="100%"> will be converted
to <svg width="0px"> and trigger the bounding-box sizing calculation.
2018-04-13 19:57:06 -04:00
Mikko Mononen 1f17a7ecea
Merge pull request #113 from martinlindhe/master
type fix: change nsvg__parseLineJoin() default value to NSVG_JOIN_MITER
2018-03-16 23:17:31 +02:00
Martin Lindhe 19bf258060 type fix: change nsvg__parseLineJoin() default value to NSVG_JOIN_MITER 2018-03-16 15:05:04 +01:00
Mikko Mononen b0be83ba62
Merge pull request #112 from luzpaz/misc-typo
Misc. README typo
2018-02-12 19:37:21 +02:00
luz.paz 00574a8157 Misc. README typo 2018-02-12 10:51:16 -05:00
Mikko Mononen 9a74da4db5 Merge pull request #99 from nightlark/patch-1
Added missing 'S' in NanoSVG
2017-07-09 11:46:20 +03:00
Ryan Mast 1859f6a5f5 Added missing 'S' in NanoSVG 2017-07-08 22:51:23 -07:00
Mikko Mononen 47697e1414 Fixed how sign is applied for fractions 2017-07-01 18:07:55 +03:00
Mikko Mononen 9b51689812 Fix for issue #90 - use custom strong to float conversion
Use custom strong to float conversion instead of the one from std
library to fix parsing floats with locales which use different number
format than specified by SVG.
2017-06-30 18:16:26 +03:00