Prathamesh Chavan <pc44800@xxxxxxxxx> writes: > + } else { > + sub_origin_url = xstrdup(sub->url); > + super_config_url = xstrdup(sub->url); > + } > + } else { > + sub_origin_url = ""; > + super_config_url = ""; > + } > + ... > +cleanup: > + if (strlen(super_config_url)) > + free(super_config_url); > + if (strlen(sub_origin_url)) > + free(sub_origin_url); The above is ugly and veriy likely to be wrong; imagine that sub->url was an empty string to begin with. Doing xstrdup("") before assigning the constant to *_url would be a lot more sensible and maintainable solution for things like this.