diff --git a/ChangeLog b/ChangeLog index 98f58cc4e..cb2b7768a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2017-02-20 Werner Lemberg + + [cff] Sanitize `initialRandomSeed'. + + * src/cff/cffload.c (cff_load_private_dict): Make + `initial_random_seed' value always positive. + 2017-02-20 Werner Lemberg [cff] Introduce `random-seed' property (2/2). diff --git a/src/cff/cffload.c b/src/cff/cffload.c index 935e612a0..9122ff9ab 100644 --- a/src/cff/cffload.c +++ b/src/cff/cffload.c @@ -1913,6 +1913,13 @@ /* ensure that `num_blue_values' is even */ priv->num_blue_values &= ~1; + /* sanitize `initialRandomSeed' to be a positive value, if necessary; */ + /* this is not mandated by the specification but by our implementation */ + if ( priv->initial_random_seed < 0 ) + priv->initial_random_seed = -priv->initial_random_seed; + else if ( priv->initial_random_seed == 0 ) + priv->initial_random_seed = 987654321; + Exit: /* clean up */ cff_blend_clear( subfont ); /* clear blend stack */