crm_malloc(hash_value, sizeof(char)*(ref_len));
crm_malloc0(hash_value, sizeof(char)*(ref_len));
generate_hash_value(const char *src_node, const char *src_subsys){	int ref_len;	char *hash_value;		if (src_node == NULL || src_subsys == NULL) {		return NULL;	}    	if (strcmp(CRM_SYSTEM_DC, src_subsys) == 0) {		hash_value = crm_strdup(src_subsys);		if (!hash_value) {			crm_err("memory allocation failed in "			       "generate_hash_value()");			return NULL;		}		return hash_value;	}    	ref_len = strlen(src_subsys) + strlen(src_node) + 2;	crm_malloc(hash_value, sizeof(char)*(ref_len));	if (!hash_value) {		crm_err("memory allocation failed in "		       "generate_hash_value()");		return NULL;	}	snprintf(hash_value, ref_len-1, "%s_%s", src_node, src_subsys);	hash_value[ref_len-1] = '\0';/* make sure it is null terminated */	crm_info("created hash value: (%s)", hash_value);	return hash_value;}