Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 5755 - The Massive memory leaking on update operations #5803

Merged
merged 3 commits into from Jun 27, 2023

Conversation

jchapma
Copy link
Contributor

@jchapma jchapma commented Jun 16, 2023

Bug description: Memory leak with creation, modification and deletion operations.

Fix description: When multiple search filters are used we use set manipulation to construct the final idl results. In this corner case we set the idl_set->compliment_head pointer which is never freed.

relates: #5755

Reviewed by: ?

@vashirov
Copy link
Member

Hey @jchapma,
this passes my test, feel free to include it as part of this PR.
Thanks!

@@ -168,6 +168,9 @@ idl_set_free_idls(IDListSet *idl_set)
void
idl_set_destroy(IDListSet *idl_set)
{
if (idl_set->complement_head) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You don't need to check for NULL here, it is already done in idl_free()

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Besides that ack

Bug description: Memory leak with creation, modification and
deletion operations.

Fix description: When multiple search filters are used we use
set manipulation to construct the final idl results. In this
corner case we set the idl_set->compliment_head pointer which
is never freed.

relates: 389ds#5755

Reviewed by: ?
@jchapma jchapma merged commit b6cede5 into 389ds:main Jun 27, 2023
8 of 9 checks passed
jchapma added a commit that referenced this pull request Jun 28, 2023
Bug description: Memory leak with creation, modification and
deletion operations.

Fix description: When multiple search filters are used we use
set manipulation to construct the final idl results. In this
corner case we set the idl_set->compliment_head pointer which
is never freed.

relates: #5755

Co-authored-by: Viktor Ashirov <vashirov@redhat.com>

Reviewed by: @mreynolds389 (Thank you)
jchapma added a commit that referenced this pull request Jun 28, 2023
Bug description: Memory leak with creation, modification and
deletion operations.

Fix description: When multiple search filters are used we use
set manipulation to construct the final idl results. In this
corner case we set the idl_set->compliment_head pointer which
is never freed.

relates: #5755

Co-authored-by: Viktor Ashirov <vashirov@redhat.com>

Reviewed by: @mreynolds389 (Thank you)
jchapma added a commit that referenced this pull request Jun 28, 2023
Bug description: Memory leak with creation, modification and
deletion operations.

Fix description: When multiple search filters are used we use
set manipulation to construct the final idl results. In this
corner case we set the idl_set->compliment_head pointer which
is never freed.

relates: #5755

Co-authored-by: Viktor Ashirov <vashirov@redhat.com>

Reviewed by: @mreynolds389 (Thank you)
jchapma added a commit that referenced this pull request Jun 28, 2023
Bug description: Memory leak with creation, modification and
deletion operations.

Fix description: When multiple search filters are used we use
set manipulation to construct the final idl results. In this
corner case we set the idl_set->compliment_head pointer which
is never freed.

relates: #5755

Co-authored-by: Viktor Ashirov <vashirov@redhat.com>

Reviewed by: @mreynolds389 (Thank you)
droideck added a commit to droideck/389-ds-base that referenced this pull request Jun 29, 2023
jchapma added a commit to jchapma/389-ds-base that referenced this pull request Jul 5, 2023
Description: Correction of idl memory leak fix

Fix description: Initial mem leak fix (389ds#5803) causing a SEGV during
basic search.

The inital memory leak occurs during idl_set manipulation when a filter
type LDAP_FILTER_AND, filter choice LDAP_FILTER_NOT and an empty set is
used. The complelement idl is stashed for a later intersection, but is
never freed when an empty set is used during set intersection.

The previous fix has been removed and the inital leak corrected.

relates: 389ds#5803

Reviewed by:
jchapma added a commit that referenced this pull request Jul 5, 2023
Description: Correction of idl memory leak fix

Fix description: Initial mem leak fix (#5803) causing a SEGV during
basic search.

The inital memory leak occurs during idl_set manipulation when a filter
type LDAP_FILTER_AND, filter choice LDAP_FILTER_NOT and an empty set is
used. The complelement idl is stashed for a later intersection, but is
never freed when an empty set is used during set intersection.

The previous fix has been removed and the inital leak corrected.

relates: #5803

Reviewed by: @tbordaz @progier389  (Thank you)
jchapma added a commit to jchapma/389-ds-base that referenced this pull request Jul 5, 2023
Description: Correction of idl memory leak fix

Fix description: Initial mem leak fix (389ds#5803) causing a SEGV during
basic search.

The inital memory leak occurs during idl_set manipulation when a filter
type LDAP_FILTER_AND, filter choice LDAP_FILTER_NOT and an empty set is
used. The complelement idl is stashed for a later intersection, but is
never freed when an empty set is used during set intersection.

The previous fix has been removed and the inital leak corrected.

relates: 389ds#5803

Reviewed by: @tbordaz @progier389  (Thank you)
jchapma added a commit that referenced this pull request Jul 5, 2023
Description: Correction of idl memory leak fix

Fix description: Initial mem leak fix (#5803) causing a SEGV during
basic search.

The inital memory leak occurs during idl_set manipulation when a filter
type LDAP_FILTER_AND, filter choice LDAP_FILTER_NOT and an empty set is
used. The complelement idl is stashed for a later intersection, but is
never freed when an empty set is used during set intersection.

The previous fix has been removed and the inital leak corrected.

relates: #5803

Reviewed by: @tbordaz @progier389  (Thank you)
jchapma added a commit that referenced this pull request Jul 5, 2023
Description: Correction of idl memory leak fix

Fix description: Initial mem leak fix (#5803) causing a SEGV during
basic search.

The inital memory leak occurs during idl_set manipulation when a filter
type LDAP_FILTER_AND, filter choice LDAP_FILTER_NOT and an empty set is
used. The complelement idl is stashed for a later intersection, but is
never freed when an empty set is used during set intersection.

The previous fix has been removed and the inital leak corrected.

relates: #5803

Reviewed by: @tbordaz @progier389  (Thank you)
jchapma added a commit that referenced this pull request Jul 5, 2023
Description: Correction of idl memory leak fix

Fix description: Initial mem leak fix (#5803) causing a SEGV during
basic search.

The inital memory leak occurs during idl_set manipulation when a filter
type LDAP_FILTER_AND, filter choice LDAP_FILTER_NOT and an empty set is
used. The complelement idl is stashed for a later intersection, but is
never freed when an empty set is used during set intersection.

The previous fix has been removed and the inital leak corrected.

relates: #5803

Reviewed by: @tbordaz @progier389  (Thank you)
designet-inc-oss pushed a commit to designet-inc-oss/389-ds-base that referenced this pull request Jul 11, 2023
Description: Correction of idl memory leak fix

Fix description: Initial mem leak fix (389ds#5803) causing a SEGV during
basic search.

The inital memory leak occurs during idl_set manipulation when a filter
type LDAP_FILTER_AND, filter choice LDAP_FILTER_NOT and an empty set is
used. The complelement idl is stashed for a later intersection, but is
never freed when an empty set is used during set intersection.

The previous fix has been removed and the inital leak corrected.

relates: 389ds#5803

Reviewed by: @tbordaz @progier389  (Thank you)
designet-inc-oss added a commit to designet-inc-oss/389-ds-base that referenced this pull request Jul 11, 2023
…lugin

Bug Description:

I used Cockpit Plugin to localize Cockpit 389 ds plugin.

Fix Description:

To enable localization for 389ds, we obtained CockpitPoPlugin from pkg/lib/cockpit-po-plugin.js in the old Cockpit, called it in webpack.config.js, and modified the files so that 389ds can handle language files (po files).

relates: 389ds#5764

Author: designet-inc-oss

Reviewed by: mreynolds389

Issue 5701 - CI - Add more tests for referral mode fix (389ds#5810)

Description: Refactor basic referral state test to be correct
according to the current lib389 implementation.
Add more tests to the clu/dsconf_test.py suite, which covers
CLI referral state logic.

Related: 389ds#5701

Reviewed by: @progier389 (Thanks!)

parent f2c1e44
author designet-inc-oss <github-oss@designet.co.jp> 1683789403 +0900
committer designet-inc-oss <github-oss@designet.co.jp> 1689037284 +0900

Issue 5755 - Massive memory leaking on update operations (389ds#5824)

Description: Correction of idl memory leak fix

Fix description: Initial mem leak fix (389ds#5803) causing a SEGV during
basic search.

The inital memory leak occurs during idl_set manipulation when a filter
type LDAP_FILTER_AND, filter choice LDAP_FILTER_NOT and an empty set is
used. The complelement idl is stashed for a later intersection, but is
never freed when an empty set is used during set intersection.

The previous fix has been removed and the inital leak corrected.

relates: 389ds#5803

Reviewed by: @tbordaz @progier389  (Thank you)

Issue 389ds#5822 - Allow empty export path for db2ldif

Bug Description:

Until recently, db2ldif did not require an export path to be specified
and would use a specified default location to create a timestamped file.

A recent commit introduced a check to ensure the targeted export file's
parent actually exists. This check is fine if a target filename is
provided, but it fails when no filename is provided; a use case that
was supported before.

Fix Description:

The check should only be done iff a filename for the export is provided.

relates: 389ds#5822

Author: multipleofzero

Reviewed by: @droideck

Issue 5825 - healthcheck - password storage scheme warning needs more info

Description:  Add the current/insecure scheme to the report, and state which
              config setting is insecure.

relates: 389ds#5825

Reviewed by: jchapman & spichugi(Thanks!!)

Issue 5793 - UI - Fix minor crashes (389ds#5827)

Description: After a massive move from webpack to esbuild bundler rework,
fix two minor crashes which happened because of minor copy-paste errors.

Related: 389ds#5793

Reviewed by: @mreynolds389 (Thanks!)

Issue 5793 - UI - fix suffix selection in export modal

Description: Fix suffix selection which was not working, and fix crash
             related to the move from webpack to esbuild (reload function
             name)

relates: 389ds#5793

Reviewed by: spichugi(Thanks!)

Issue 4719 - CI - Add dsconf add a PTA URL test

Description: This test checks that you are able to add a PTA URL through dsconf. Test tries to add new PTA URL and then check logs for message: "Successfully added URL".

Relates: 389ds#4719

Reviewed by: @mreynolds389 @droideck (Thanks!)

Issue 5752 - RFE - Provide a history for LastLoginTime (389ds#5807)

Bug Description: For the lastloginhistory feature the user
can set the number of login histories that are saved by
modifing the lastloginhistorysize attribute. The CLI currently
allows setting this attribute value to 0 or a non positive int.

Fix Description: Add support for a lastloginhistorysize of 0 which
would disable the feature. Add CLI support for restricting non
positive int values.

relates: 389ds#5752

Reviewed by: @droideck @mreynolds389 (Thank you)

Bump version to 2.4.2

Issue 5701 - CI - Add more tests for referral mode fix (389ds#5810)

Description: Refactor basic referral state test to be correct
according to the current lib389 implementation.
Add more tests to the clu/dsconf_test.py suite, which covers
CLI referral state logic.

Related: 389ds#5701

Reviewed by: @progier389 (Thanks!)

Issue 5755 - Massive memory leaking on update operations (389ds#5824)

Description: Correction of idl memory leak fix

Fix description: Initial mem leak fix (389ds#5803) causing a SEGV during
basic search.

The inital memory leak occurs during idl_set manipulation when a filter
type LDAP_FILTER_AND, filter choice LDAP_FILTER_NOT and an empty set is
used. The complelement idl is stashed for a later intersection, but is
never freed when an empty set is used during set intersection.

The previous fix has been removed and the inital leak corrected.

relates: 389ds#5803

Reviewed by: @tbordaz @progier389  (Thank you)

Issue 389ds#5822 - Allow empty export path for db2ldif

Bug Description:

Until recently, db2ldif did not require an export path to be specified
and would use a specified default location to create a timestamped file.

A recent commit introduced a check to ensure the targeted export file's
parent actually exists. This check is fine if a target filename is
provided, but it fails when no filename is provided; a use case that
was supported before.

Fix Description:

The check should only be done iff a filename for the export is provided.

relates: 389ds#5822

Author: multipleofzero

Reviewed by: @droideck

Issue 5825 - healthcheck - password storage scheme warning needs more info

Description:  Add the current/insecure scheme to the report, and state which
              config setting is insecure.

relates: 389ds#5825

Reviewed by: jchapman & spichugi(Thanks!!)

Issue 5793 - UI - Fix minor crashes (389ds#5827)

Description: After a massive move from webpack to esbuild bundler rework,
fix two minor crashes which happened because of minor copy-paste errors.

Related: 389ds#5793

Reviewed by: @mreynolds389 (Thanks!)

Issue 4719 - CI - Add dsconf add a PTA URL test

Description: This test checks that you are able to add a PTA URL through dsconf. Test tries to add new PTA URL and then check logs for message: "Successfully added URL".

Relates: 389ds#4719

Reviewed by: @mreynolds389 @droideck (Thanks!)

Issue 5752 - RFE - Provide a history for LastLoginTime (389ds#5807)

Bug Description: For the lastloginhistory feature the user
can set the number of login histories that are saved by
modifing the lastloginhistorysize attribute. The CLI currently
allows setting this attribute value to 0 or a non positive int.

Fix Description: Add support for a lastloginhistorysize of 0 which
would disable the feature. Add CLI support for restricting non
positive int values.

relates: 389ds#5752

Reviewed by: @droideck @mreynolds389 (Thank you)

Bump version to 2.4.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants