aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/seg/segparse.y14
1 files changed, 4 insertions, 10 deletions
diff --git a/contrib/seg/segparse.y b/contrib/seg/segparse.y
index 729d4b6390b..9635c3af6e6 100644
--- a/contrib/seg/segparse.y
+++ b/contrib/seg/segparse.y
@@ -29,14 +29,6 @@ static bool seg_atof(char *value, float *result, struct Node *escontext);
static int sig_digits(const char *value);
-static char strbuf[25] = {
- '0', '0', '0', '0', '0',
- '0', '0', '0', '0', '0',
- '0', '0', '0', '0', '0',
- '0', '0', '0', '0', '0',
- '0', '0', '0', '0', '\0'
-};
-
%}
/* BISON Declarations */
@@ -69,11 +61,13 @@ static char strbuf[25] = {
range: boundary PLUMIN deviation
{
+ char strbuf[25];
+
result->lower = $1.val - $3.val;
result->upper = $1.val + $3.val;
- sprintf(strbuf, "%g", result->lower);
+ snprintf(strbuf, sizeof(strbuf), "%g", result->lower);
result->l_sigd = Max(sig_digits(strbuf), Max($1.sigd, $3.sigd));
- sprintf(strbuf, "%g", result->upper);
+ snprintf(strbuf, sizeof(strbuf), "%g", result->upper);
result->u_sigd = Max(sig_digits(strbuf), Max($1.sigd, $3.sigd));
result->l_ext = '\0';
result->u_ext = '\0';