summaryrefslogtreecommitdiff
path: root/utils/nsoption.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2013-05-28 20:14:49 +0100
committerVincent Sanders <vince@kyllikki.org>2013-05-28 20:29:37 +0100
commit06d87fec2b7e7dae2bfad7a23692451feb1cd814 (patch)
tree4b3acefc368a5d75f86192a22c9a92cd2429ab77 /utils/nsoption.c
parent2dec72b4d55b3e728a8582d7055584ecabfb8010 (diff)
downloadnetsurf-06d87fec2b7e7dae2bfad7a23692451feb1cd814.tar.gz
netsurf-06d87fec2b7e7dae2bfad7a23692451feb1cd814.tar.bz2
if the colour value is unusable do not assign garbage to teh option
Diffstat (limited to 'utils/nsoption.c')
-rw-r--r--utils/nsoption.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/utils/nsoption.c b/utils/nsoption.c
index e2fe225f2..b5add5f91 100644
--- a/utils/nsoption.c
+++ b/utils/nsoption.c
@@ -103,10 +103,11 @@ strtooption(const char *value, struct nsoption_s *option)
break;
case OPTION_COLOUR:
- sscanf(value, "%x", &rgbcolour);
- option->value.c = (((0x000000FF & rgbcolour) << 16) |
- ((0x0000FF00 & rgbcolour) << 0) |
- ((0x00FF0000 & rgbcolour) >> 16));
+ if (sscanf(value, "%x", &rgbcolour) == 1) {
+ option->value.c = (((0x000000FF & rgbcolour) << 16) |
+ ((0x0000FF00 & rgbcolour) << 0) |
+ ((0x00FF0000 & rgbcolour) >> 16));
+ }
break;
case OPTION_STRING: