diff options
Diffstat (limited to 'psi/iutil.c')
-rw-r--r-- | psi/iutil.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/psi/iutil.c b/psi/iutil.c index f2d960cd4..e15cef9bf 100644 --- a/psi/iutil.c +++ b/psi/iutil.c @@ -339,9 +339,12 @@ obj_cvp(const ref * op, byte * str, uint len, uint * prlen, */ float value = op->value.realval; float scanned; - - gs_sprintf(buf, "%g", value); - (void)sscanf(buf, "%f", &scanned); + code = gs_sprintf(buf, "%g", value); + if (code <= 0) + return_error(gs_error_undefinedresult); + code = sscanf(buf, "%f", &scanned); + if (code <= 0) + return_error(gs_error_undefinedresult); if (scanned != value) gs_sprintf(buf, "%.9g", value); ensure_dot(buf); |