diff --git a/src/system/kernel/usergroup.cpp b/src/system/kernel/usergroup.cpp index 631d98c06d..9383f45cc3 100644 --- a/src/system/kernel/usergroup.cpp +++ b/src/system/kernel/usergroup.cpp @@ -224,9 +224,8 @@ common_setgroups(int groupCount, const gid_t* groupList, bool kernel) memcpy(newGroups->groups, groupList, sizeof(gid_t) * groupCount); } else { if (!IS_USER_ADDRESS(groupList) - || user_memcpy(newGroups->groups, groupList, - sizeof(gid_t) * groupCount) != B_OK) { - delete newGroups; + || user_memcpy(newGroups->groups, groupList, sizeof(gid_t) * groupCount) != B_OK) { + free(newGroups); return B_BAD_ADDRESS; } }