summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/cairo-cff-subset.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cairo-cff-subset.c b/src/cairo-cff-subset.c
index ed6909bc7..0e206f2d5 100755
--- a/src/cairo-cff-subset.c
+++ b/src/cairo-cff-subset.c
@@ -51,6 +51,7 @@
#include "cairo-scaled-font-subsets-private.h"
#include "cairo-truetype-subset-private.h"
+#include <stdio.h>
#include <string.h>
#include <locale.h>
@@ -331,7 +332,10 @@ decode_real (unsigned char *p, double *real)
buf = buffer2 + (q - buffer);
strncpy (buf, decimal_point, decimal_point_len);
buf += decimal_point_len;
- strcpy (buf, q + 1);
+ //(2017.04.17) Since secure issue, replace strcpy to strncpy
+ //strcpy (buf, q + 1);
+ strncpy (buf, q + 1, (buffer + sizeof(buffer)/sizeof(buffer[0])) - (q + 1));
+ //same as strncpy (buf, q + 1, (100 - (q + 1));
buf = buffer2;
}