summaryrefslogtreecommitdiff
path: root/psi/iutil.c
diff options
context:
space:
mode:
Diffstat (limited to 'psi/iutil.c')
-rw-r--r--psi/iutil.c9
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);