On 2023/1/6 1:45, Jonathon Jongsma wrote:
On 1/5/23 6:26 AM, Jiang Jiacheng wrote:
...
> @@ -476,33 +459,29 @@
> AppArmorGetSecurityProcessLabel(virSecurityManager *mgr G_GNUC_UNUSED,
> {
> int rc = -1;
'rc' variable doesn't seem to be used anymore.
The 'rc' and the following are not used, and it's strange that my
compiler does not generate warning about them.
I will remove them in next version.
> int status;
> - char *profile_name = NULL;
> + g_autofree char *profile_name = NULL;
> if ((profile_name = get_profile_name(def)) == NULL)
> - return rc;
> + return -1;
> status = profile_status(profile_name, 1);
> if (status < -1) {
> virReportError(VIR_ERR_INTERNAL_ERROR,
> "%s", _("error getting profile
status"));
> - goto cleanup;
> + return -1;
> } else if (status == -1) {
> sec->label[0] = '\0';
> } else {
> if (virStrcpy(sec->label, profile_name,
> VIR_SECURITY_LABEL_BUFLEN) < 0) {
> virReportError(VIR_ERR_INTERNAL_ERROR,
> "%s", _("error copying profile
name"));
> - goto cleanup;
> + return -1;
> }
> }
> sec->enforcing = status == 1;
> - rc = 0;
> -
> - cleanup:
> - VIR_FREE(profile_name);
> - return rc;
> + return 0;
> }
> /* Called on VM shutdown and destroy. See AppArmorGenSecurityLabel
> (above) for
> @@ -555,7 +534,7 @@ AppArmorSetSecurityProcessLabel(virSecurityManager
> *mgr G_GNUC_UNUSED,
> virDomainDef *def)
> {
> int rc = -1;
same here. Remove?
> - char *profile_name = NULL;
> + g_autofree char *profile_name = NULL;
> virSecurityLabelDef *secdef =
> virDomainDefGetSecurityLabelDef(def, SECURITY_APPARMOR_NAME);
> @@ -563,7 +542,7 @@
> AppArmorSetSecurityProcessLabel(virSecurityManager *mgr G_GNUC_UNUSED,
> return 0;
> if ((profile_name = get_profile_name(def)) == NULL)
> - return rc;
> + return -1;
> if (STRNEQ(SECURITY_APPARMOR_NAME, secdef->model)) {
> virReportError(VIR_ERR_INTERNAL_ERROR,
> @@ -572,21 +551,17 @@
> AppArmorSetSecurityProcessLabel(virSecurityManager *mgr G_GNUC_UNUSED,
> "hypervisor driver is \'%s\'."),
> secdef->model, SECURITY_APPARMOR_NAME);
> if (use_apparmor() > 0)
> - goto cleanup;
> + return -1;
> }
> VIR_DEBUG("Changing AppArmor profile to %s", profile_name);
> if (aa_change_profile(profile_name) < 0) {
> virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> _("error calling aa_change_profile()"));
> - goto cleanup;
> + return -1;
> }
> - rc = 0;
> -
> - cleanup:
> - VIR_FREE(profile_name);
> - return rc;
> + return 0;
> }
> /* Called directly by API user prior to virCommandRun().
> @@ -600,8 +575,8 @@
> AppArmorSetSecurityChildProcessLabel(virSecurityManager *mgr
> G_GNUC_UNUSED,
> virCommand *cmd)
> {
> int rc = -1;
...and again
> - char *profile_name = NULL;
> - char *cmd_str = NULL;
> + g_autofree char *profile_name = NULL;
> + g_autofree char *cmd_str = NULL;
> virSecurityLabelDef *secdef =
> virDomainDefGetSecurityLabelDef(def, SECURITY_APPARMOR_NAME);
> @@ -615,21 +590,17 @@
> AppArmorSetSecurityChildProcessLabel(virSecurityManager *mgr
> G_GNUC_UNUSED,
> "hypervisor driver is \'%s\'."),
> secdef->model, SECURITY_APPARMOR_NAME);
> if (use_apparmor() > 0)
> - goto cleanup;
> + return -1;
> }
> if ((profile_name = get_profile_name(def)) == NULL)
> - goto cleanup;
> + return -1;
> cmd_str = virCommandToString(cmd, false);
> VIR_DEBUG("Changing AppArmor profile to %s on %s", profile_name,
> cmd_str);
> virCommandSetAppArmorProfile(cmd, profile_name);
> - rc = 0;
> - cleanup:
> - VIR_FREE(profile_name);
> - VIR_FREE(cmd_str);
> - return rc;
> + return 0;
> }
> static int