diff options
Diffstat (limited to 'cdr/cdr_pgsql.c')
-rw-r--r-- | cdr/cdr_pgsql.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/cdr/cdr_pgsql.c b/cdr/cdr_pgsql.c index 1203e1644..decccfb58 100644 --- a/cdr/cdr_pgsql.c +++ b/cdr/cdr_pgsql.c @@ -240,7 +240,7 @@ static int pgsql_log(struct ast_cdr *cdr) ast_cdr_getvar(cdr, cur->name, &value, buf, sizeof(buf), 0, 0); if (strncmp(cur->type, "int", 3) == 0) { long long whatever; - if (value && sscanf(value, "%lld", &whatever) == 1) { + if (value && sscanf(value, "%30lld", &whatever) == 1) { LENGTHEN_BUF2(25); lensql2 += snprintf(sql2 + lensql2, sizesql2 - lensql2, "%lld", whatever); } else { @@ -249,7 +249,7 @@ static int pgsql_log(struct ast_cdr *cdr) } } else if (strncmp(cur->type, "float", 5) == 0) { long double whatever; - if (value && sscanf(value, "%Lf", &whatever) == 1) { + if (value && sscanf(value, "%30Lf", &whatever) == 1) { LENGTHEN_BUF2(50); lensql2 += snprintf(sql2 + lensql2, sizesql2 - lensql2, "%30Lf", whatever); } else { @@ -509,7 +509,7 @@ static int config_module(int reload) ast_verb(4, "Found column '%s' of type '%s'\n", fname, ftype); cur = ast_calloc(1, sizeof(*cur) + strlen(fname) + strlen(ftype) + 2); if (cur) { - sscanf(flen, "%d", &cur->len); + sscanf(flen, "%30d", &cur->len); cur->name = (char *)cur + sizeof(*cur); cur->type = (char *)cur + sizeof(*cur) + strlen(fname) + 1; strcpy(cur->name, fname); |