rare memory leak fixed
diff --git a/skeletons/REAL.c b/skeletons/REAL.c
index 6411aa4..e5cced8 100644
--- a/skeletons/REAL.c
+++ b/skeletons/REAL.c
@@ -137,6 +137,7 @@
dot = (buf[0] == 0x2d /* '-' */) ? (buf + 2) : (buf + 1);
if(*dot >= 0x30) {
+ if(buf != local_buf) FREEMEM(buf);
errno = EINVAL;
return -1; /* Not a dot, really */
}
@@ -157,6 +158,7 @@
}
expptr++;
if(expptr > end) {
+ if(buf != local_buf) FREEMEM(buf);
errno = EINVAL;
return -1;
}
@@ -182,6 +184,7 @@
}
}
if(E == end) {
+ if(buf != local_buf) FREEMEM(buf);
errno = EINVAL;
return -1; /* No promised E */
}