heimdal - fix various warnings
[sfrench/samba-autobuild/.git] / source4 / heimdal / lib / hx509 / name.c
index b8f48d5236b7428fdf3e264480ef5fdb0aede709..546b7490157d36c20ca14cd17e40c8afd2d4703a 100644 (file)
@@ -235,8 +235,10 @@ _hx509_Name_to_string(const Name *n, char **str)
                if (ss == NULL)
                    _hx509_abort("allocation failure"); /* XXX */
                ret = wind_ucs2utf8(bmp, bmplen, ss, NULL);
-               if (ret)
+               if (ret) {
+                   free(ss);
                    return ret;
+               }
                ss[k] = '\0';
                break;
            }
@@ -260,8 +262,10 @@ _hx509_Name_to_string(const Name *n, char **str)
                if (ss == NULL)
                    _hx509_abort("allocation failure"); /* XXX */
                ret = wind_ucs4utf8(uni, unilen, ss, NULL);
-               if (ret)
+               if (ret) {
+                   free(ss);
                    return ret;
+               }
                ss[k] = '\0';
                break;
            }
@@ -922,12 +926,12 @@ hx509_general_name_unparse(GeneralName *name, char **str)
 
     switch (name->element) {
     case choice_GeneralName_otherName: {
-       char *str;
-       hx509_oid_sprint(&name->u.otherName.type_id, &str);
-       if (str == NULL)
+       char *str2;
+       hx509_oid_sprint(&name->u.otherName.type_id, &str2);
+       if (str2 == NULL)
            return ENOMEM;
-       strpool = rk_strpoolprintf(strpool, "otherName: %s", str);
-       free(str);
+       strpool = rk_strpoolprintf(strpool, "otherName: %s", str2);
+       free(str2);
        break;
     }
     case choice_GeneralName_rfc822Name:
@@ -982,12 +986,12 @@ hx509_general_name_unparse(GeneralName *name, char **str)
        break;
     }
     case choice_GeneralName_registeredID: {
-       char *str;
-       hx509_oid_sprint(&name->u.registeredID, &str);
-       if (str == NULL)
+       char *str2;
+       hx509_oid_sprint(&name->u.registeredID, &str2);
+       if (str2 == NULL)
            return ENOMEM;
-       strpool = rk_strpoolprintf(strpool, "registeredID: %s", str);
-       free(str);
+       strpool = rk_strpoolprintf(strpool, "registeredID: %s", str2);
+       free(str2);
        break;
     }
     default: