From: Junio C Hamano Date: Thu, 11 Jan 2018 20:31:45 GMT Subject: Re: [PATCH v2 1/2] submodule: port submodule subcommand 'sync' from shell to C Message-ID: In-Reply-To: <20180111201721.25930-2-pc44800@gmail.com> Prathamesh Chavan 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.