mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-10 09:44:36 +08:00
58 lines
1.7 KiB
Diff
58 lines
1.7 KiB
Diff
Index: src/userdel.c
|
|
===================================================================
|
|
--- src/userdel.c (revision 3713)
|
|
+++ src/userdel.c (working copy)
|
|
@@ -329,26 +329,33 @@
|
|
}
|
|
|
|
if (NULL == pwd) {
|
|
+ char gr_name[GROUP_NAME_MAX_LENGTH + 1];
|
|
+
|
|
+ /* make a copy of the group name before we delete it.
|
|
+ * we can't use ->gr_name after the group is deleted
|
|
+ * for logging purposes */
|
|
+ snprintf(gr_name, GROUP_NAME_MAX_LENGTH, "%s", grp->gr_name);
|
|
+
|
|
/*
|
|
* We can remove this group, it is not the primary
|
|
* group of any remaining user.
|
|
*/
|
|
- if (gr_remove (grp->gr_name) == 0) {
|
|
+ if (gr_remove (gr_name) == 0) {
|
|
fprintf (stderr,
|
|
_("%s: cannot remove entry '%s' from %s\n"),
|
|
- Prog, grp->gr_name, gr_dbname ());
|
|
+ Prog, gr_name, gr_dbname ());
|
|
fail_exit (E_GRP_UPDATE);
|
|
}
|
|
|
|
#ifdef WITH_AUDIT
|
|
audit_logger (AUDIT_DEL_GROUP, Prog,
|
|
"deleting group",
|
|
- grp->gr_name, AUDIT_NO_ID,
|
|
+ gr_name, AUDIT_NO_ID,
|
|
SHADOW_AUDIT_SUCCESS);
|
|
#endif /* WITH_AUDIT */
|
|
SYSLOG ((LOG_INFO,
|
|
"removed group '%s' owned by '%s'\n",
|
|
- grp->gr_name, user_name));
|
|
+ gr_name, user_name));
|
|
|
|
#ifdef SHADOWGRP
|
|
if (sgr_locate (user_name) != NULL) {
|
|
@@ -361,12 +368,12 @@
|
|
#ifdef WITH_AUDIT
|
|
audit_logger (AUDIT_DEL_GROUP, Prog,
|
|
"deleting shadow group",
|
|
- grp->gr_name, AUDIT_NO_ID,
|
|
+ gr_name, AUDIT_NO_ID,
|
|
SHADOW_AUDIT_SUCCESS);
|
|
#endif /* WITH_AUDIT */
|
|
SYSLOG ((LOG_INFO,
|
|
"removed shadow group '%s' owned by '%s'\n",
|
|
- grp->gr_name, user_name));
|
|
+ gr_name, user_name));
|
|
|
|
}
|
|
#endif /* SHADOWGRP */
|