[PATCH] Check if deriv->steps is NULL before freeing it
H.J. Lu
hongjiu.lu@intel.com
Fri Sep 7 18:51:00 GMT 2012
With --disable-shared, deriv->steps may be NULL. This patch checks it.
OK to install?
Thanks.
H.J.
---
* iconv/gconv_db.c (free_derivation): Check if deriv->steps
is NULL.
diff --git a/iconv/gconv_db.c b/iconv/gconv_db.c
index a081205..703c9e3 100644
--- a/iconv/gconv_db.c
+++ b/iconv/gconv_db.c
@@ -193,10 +193,13 @@ free_derivation (void *p)
}
/* Free the name strings. */
- free ((char *) deriv->steps[0].__from_name);
- free ((char *) deriv->steps[deriv->nsteps - 1].__to_name);
+ if (deriv->steps)
+ {
+ free ((char *) deriv->steps[0].__from_name);
+ free ((char *) deriv->steps[deriv->nsteps - 1].__to_name);
+ free ((struct __gconv_step *) deriv->steps);
+ }
- free ((struct __gconv_step *) deriv->steps);
free (deriv);
}
--
1.7.11.4
More information about the Libc-alpha
mailing list