diff options
Diffstat (limited to 'py/pfenv.c')
-rw-r--r-- | py/pfenv.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/py/pfenv.c b/py/pfenv.c index 698f3b16cb..f608a11752 100644 --- a/py/pfenv.c +++ b/py/pfenv.c @@ -341,12 +341,15 @@ int pfenv_print_float(const pfenv_t *pfenv, mp_float_t f, char fmt, int flags, c *fmt_s = '\0'; len = snprintf(buf, sizeof(buf), fmt_buf, prec, f); + if (len < 0) { + len = 0; + } #else #error Unknown MICROPY FLOAT IMPL #endif char *s = buf; - if ((flags & PF_FLAG_ADD_PERCENT) && (len + 1) < sizeof(buf)) { + if ((flags & PF_FLAG_ADD_PERCENT) && (size_t)(len + 1) < sizeof(buf)) { buf[len++] = '%'; buf[len] = '\0'; } |