don't return a bogus mpint if malloc fails or if the src has the wrong number of digits. return nil instead. Reference: /n/sources/patch/applied/strtomp-32 Date: Thu Feb 2 16:29:40 CET 2012 Signed-off-by: quanstro@quanstro.net --- /sys/src/libmp/port/strtomp.c Thu Feb 2 16:29:07 2012 +++ /sys/src/libmp/port/strtomp.c Thu Feb 2 16:29:06 2012 @@ -144,8 +144,12 @@ mpbits(b, n*5); p = malloc(n); if(p == nil) - return a; + return buf; /* signal no digits converted */ m = dec32(p, n, buf, n); + if(m == -1){ + free(p); + return buf; + } betomp(p, m, b); free(p); return a;