[Linux-ha-dev] cl_free: Bad magic number in object at ...
Alan Robertson
alanr at unix.sh
Tue Oct 5 15:59:56 MDT 2004
Lars Ellenberg wrote:
> directive:
> bcast eth0 eth1
> (wrong leftover from config file,
> no more eth1 available...)
>
> heartbeat &
>
> [error below.]
>
> probably this code (and FIXME) from heartbeat/config.c
> 871 if ((funs=g_hash_table_lookup(CommFunctions, option)) != NULL
> 872 && funs->new != NULL) {
> 873 struct hb_media* mp = funs->new(value);
> 874 char* type;
> 875 char* descr;
> 876
> 877 funs->descr(&descr);
> 878 funs->mtype(&type);
> 879
> 880 if (nummedia >= MAXMEDIA) {
> 881 cl_log(LOG_ERR, "Too many media specified (> %d)"
> 882 , MAXMEDIA);
> 883 cl_log(LOG_INFO, "Offending command: %s %s"
> 884 , option, value);
> 885 return HA_FAIL;
> 886 }
> 887
> 888 sysmedia[nummedia] = mp;
> 889 if (mp == NULL) {
> 890 ha_log(LOG_ERR, "Illegal %s [%s] in config file [%s]"
> 891 , type, descr, value);
> 892 PILIncrIFRefCount(PluginLoadingSystem
> 893 , HB_COMM_TYPE_S, option, -1);
>
> 894 /* Does this come from ha_malloc? FIXME!! */
> 895 ha_free(descr); descr = NULL;
> 896 ha_free(type); type = NULL;
>
> obviously it does not (allways).
>
> 897 return(HA_FAIL);
> 898 }else{
>
> lge
OK Lars. I want to make sure I understand what's going on here:
You have a config file with an illegal bcast directive in it.
And, when you have this, it tries to pass something to ha_free that didn't
come from ha_free. Is that right?
So, this should be easily reproduced. Right?
--
Alan Robertson <alanr at unix.sh>
"Openness is the foundation and preservative of friendship... Let me claim
from you at all times your undisguised opinions." - William Wilberforce
More information about the Linux-HA-Dev
mailing list