Prathamesh Chavan [off-list ref] 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.