ref: 53a2fafa398442453ae0e0980005f16b671d6400
parent: 3cb3a733aa6d3c48f8695ed78a35af9710e1c406
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Sun Jan 5 22:46:53 EST 2025
mptoa: unconfuse clang-analyzer
--- a/3rd/mp/mpfmt.c
+++ b/3rd/mp/mpfmt.c
@@ -32,7 +32,7 @@
return 0;
}
-static char*
+static char *
modbillion(int rem, uint32_t r, char *out, char *buf)
{
uint32_t rr;
@@ -134,15 +134,16 @@
return 0;
}
-char*
+char *
mptoa(mpint *b, int base, char *buf, int len)
{
+ bool alloced;
char *out;
- int rv, alloced;
+ int rv;
if(base == 0)
base = 16; /* default */
- alloced = 0;
+ alloced = false;
if(buf == nil){
/* rv <= log₂(base) */
for(rv=1; (base >> rv) > 1; rv++)
@@ -151,11 +152,11 @@
buf = MEM_ALLOC(len);
if(buf == nil)
return nil;
- alloced = 1;
+ alloced = true;
}
if(len < 2)
- return nil;
+ goto leave;
out = buf;
if(b->sign < 0){
@@ -183,6 +184,7 @@
exit(2);
}
if(rv < 0){
+leave:
if(alloced)
MEM_FREE(buf);
return nil;