#9895 Memory leaks in IPA plugins
Closed: fixed by rjeffman. Opened by vashirov.

Issue

Multiple memory leaks have been identified across various IPA plugins. These leaks occur in different scenarios including normal operations, error handling paths, and server shutdown.

The affected plugins are:
- ipa-enrollment
- ipa-extdom-extop
- ipa-graceperiod
- ipa-lockout
- ipa-pwd-extop
- ipa-range-check
- ipa-sidgen
- topology

Steps to Reproduce

  1. Edit /usr/lib/systemd/system/dirsrv@.service.d/custom.conf and follow instructions to enable AddressSanitizer, reload systemd, etc.
  2. Run upstream tests, they should trigger operations such as LDAP binds, password changes, lockout and graceperiod changes, host enrollment, topology/replication changes, etc.

Actual behavior

Memory leaks reported by AddressSanitizer under /var/run/dirsrv/slapd-INSTANCE

Expected behavior

No memory leaks

Version/Release/Distribution

ipa-server-4.12.2


PR: https://github.com/freeipa/freeipa/pull/8013
(I don't have permissions to edit Metadata)

Metadata Update from @abbra:
- Custom field on_review adjusted to https://github.com/freeipa/freeipa/pull/8013
- Issue assigned to vashirov

Thanks! I added the metadata and assigned the issue to you

master:

  • 35d6b9974907a2d7c4f074ed5c53a38fdf442618 ipa-graceperiod: fix memory leaks
  • 8eb040393824f1e0c1f1b5a01385dbaa9830a1b8 ipa-lockout: fix memory leaks
  • 8201cea9bd18fa3570a35f51b437b9e5cf302ca9 ipa-pwd-extop: fix memory leaks
  • a811c615452551b749299f7cff8245c1bc1ac571 ipa-sidgen: fix memory leaks
  • 7a4df2a53f0471a6661a443ea7baaab453c41d0c ipa-range-check: fix memory leak
  • 9e5857665855c4d2ec2a911e5ad10b12c034a659 ipa-extdom-extop: fix memory leaks
  • 7f83f3759124de7c6c3aa0aa3a7b17991b3cf0b4 ipa-enrollment: fix memory leaks
  • 8cdee3f84b987fed9d7deeebf189789e776210f5 topology: fix memory leaks
  • 391d178ddcda8b003369d72c4835a79d91d8770c ipa-pwd-extop: free krbcfg in all exit paths
  • 9dec59b9c1413eaa50e58da5cb7137bf096d1fa3 ipa-pwd-extop: fix memory leaks

ipa-4-13:

  • c173a70c8581bf25e063766039f0ea875c8f5691 ipa-graceperiod: fix memory leaks
  • 819fddc3d201e5764538878c78ddf3da7c8c0326 ipa-lockout: fix memory leaks
  • 29699af133ce7c9e1570376c978d4ecce217825f ipa-pwd-extop: fix memory leaks
  • 67ea4467eca5fdb6df9b267445cee41dc5d8691e ipa-sidgen: fix memory leaks
  • 0e409d1955d4e2248b05310962671e1f9c8a069e ipa-range-check: fix memory leak
  • 4a62d6141af54b77408628877a1027c3ea5a106f ipa-extdom-extop: fix memory leaks
  • bfc9552d565dc2bb452ae79e2bc972b419e81cad ipa-enrollment: fix memory leaks
  • 61bc55c9c3951f7653b6d63be512c654650ffd77 topology: fix memory leaks
  • ba9074c9605bed6466580c10657fc7b1341aacbf ipa-pwd-extop: free krbcfg in all exit paths
  • 8eeccb6dba8861731a786dd1b115a1eac6c1d98d ipa-pwd-extop: fix memory leaks

ipa-4-12:

  • 15170f11de1a8cf9eccf9eef761f46e5f2c8fb7d ipa-graceperiod: fix memory leaks
  • a7587b78b4c2c46e2ec9612903b10b75e3adf973 ipa-lockout: fix memory leaks
  • 2f32a199b443ede395e9f5f252a4e88394729766 ipa-pwd-extop: fix memory leaks
  • e13bd8ca5414b7396a1550ebe9e77f605be6ee48 ipa-sidgen: fix memory leaks
  • 0fc7c49f4805fa4633b4b816d6edb35633bd975d ipa-range-check: fix memory leak
  • c1e1ff6121640d6a07d8c17edd5f15713649182e ipa-extdom-extop: fix memory leaks
  • c3c4eeaa81c75cdd04d74d7407c0b7103ac7558e ipa-enrollment: fix memory leaks
  • 98ad3653ca853932e2c754315540ba18a09c495c topology: fix memory leaks
  • 99625ed5df97f0921e6c6e03dbfec21aa0488ea9 ipa-pwd-extop: free krbcfg in all exit paths
  • 859990a0b0a3694ee99db398a0ec513e4a02d5de ipa-pwd-extop: fix memory leaks

master:

  • 703d18aa77076a20239ca19c364979c6093b8de3 ipa-pwd-extop: fix memory leaks of bind DN
  • 34acdbd4c36d6a0e5595f338df9ea7a9bf72a893 ipa-pwd-extop: fix memory leaks in ipapwd_pre_add()
  • d6fab8ff58bf63ab4e1042de9c9e07d0faf1fb27 ipa-pwd-extop: fix bind DN memory leaks in pre-op handlers
  • f3482e6de965ed66b5e344fc4b39a3cfb0542e90 ipa-pwd-extop: fix NT hash string memory leak
  • 808b493c1c531cef074e34054a1ad47bfdd3148a ipa-pwd-extop: fix password history values memory leak
  • 0a0b4b6bdb5f7a0d51315042d29069e2b10abb74 ipa-pwd-extop: fix memory leaks in ipapwd_gen_hashes() error path
  • 53deb36131f53a5d56550ec79ac26afa7e3e69b6 ipa-pwd-extop: fix valueset memory leak in ipapwd_get_cur_kvno()

Metadata Update from @frenaud:
- Custom field rhbz adjusted to https://issues.redhat.com/browse/RHEL-119339

ipa-4-12:

  • efd6cc2bd9002c927823880eb77fab66cfb0e6a2 ipa-pwd-extop: fix memory leaks of bind DN
  • 52cf968dc91b557215c303e354bd770f52222390 ipa-pwd-extop: fix memory leaks in ipapwd_pre_add()
  • c98a006be077c944612a69545463f1d8a66e8b92 ipa-pwd-extop: fix bind DN memory leaks in pre-op handlers
  • 301cada8a1b5e7e5ad2c91111f51ef0649932eee ipa-pwd-extop: fix NT hash string memory leak
  • aa4a3fbd89ddbe2eecb3063a042fd815e6dd49d8 ipa-pwd-extop: fix password history values memory leak
  • 343c9a8ab8f5dd6af4217bf5cd66a2f5f9dcbbbd ipa-pwd-extop: fix memory leaks in ipapwd_gen_hashes() error path
  • 40217032aa201313f8bdfcb22abe0088749574f1 ipa-pwd-extop: fix valueset memory leak in ipapwd_get_cur_kvno()

ipa-4-13:

  • 1a7819b2c6145f8686771cf305a43589b5028c51 ipa-pwd-extop: fix memory leaks of bind DN
  • 28979893e620a033878405b9edeaa4bca730f9fc ipa-pwd-extop: fix memory leaks in ipapwd_pre_add()
  • 1545c3fd7dc9c5765dcdf83bbb591c46eb489de3 ipa-pwd-extop: fix bind DN memory leaks in pre-op handlers
  • f5e47c974b4e5fa32e9a00db89df16bee2fd3f84 ipa-pwd-extop: fix NT hash string memory leak
  • 370cdf03572463688445cece88bacbc8b797cc5d ipa-pwd-extop: fix password history values memory leak
  • 614b3cdc872427e632870413b8f44d6ba1373cc8 ipa-pwd-extop: fix memory leaks in ipapwd_gen_hashes() error path
  • edc00aae575399a6c11f7b9d1ca5bbd833459274 ipa-pwd-extop: fix valueset memory leak in ipapwd_get_cur_kvno()

Metadata Update from @rjeffman:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

ipa-4-9:

  • 30f2a705bfe363662e37e928a98d7e12e5e0fa2e ipa-graceperiod: fix memory leaks
  • da647c1786e7367eb96ae56f747ab7bef2ded023 ipa-lockout: fix memory leaks
  • 01bef1541563cfc911ca2f58894c17bfa2319f2b ipa-pwd-extop: fix memory leaks
  • da00cf40ecc90971316845c58420921213853373 ipa-sidgen: fix memory leaks
  • 3b5e4299806619da89cf55945502ddf206f4731b ipa-range-check: fix memory leak
  • ddc630647a5d8a21e3b6c539f3cfa68cf473b0ee ipa-extdom-extop: fix memory leaks
  • 4bbd73832c4dcf8b870ac937df79a74fd4899edf ipa-enrollment: fix memory leaks
  • 5552793ae257a03d13e48edbb4bd5e9ac2618cfb topology: fix memory leaks
  • 2b7d5da7e5762460c28262b8c77d73ecd7b4d835 ipa-pwd-extop: fix memory leaks
  • a528e0fa1d8c6c2a907776aa5d94ed6fe46f55e8 ipa-pwd-extop: fix memory leaks of bind DN
  • 9f23ffabc9f474a0e7496615e6b04b23ea7efed3 ipa-pwd-extop: fix memory leaks in ipapwd_pre_add()
  • 995e8182c0799c3e6a985e2e9b2b1337f5c47115 ipa-pwd-extop: fix bind DN memory leaks in pre-op handlers
  • 8d60809ebbafe8241153d143d1bfbf68f3661896 ipa-pwd-extop: fix NT hash string memory leak
  • ef55c2ed9a855e724d00f5ece1b502f404b66e45 ipa-pwd-extop: fix password history values memory leak
  • 788c6b92d94686702d084d04bf608547bb0e67d6 ipa-pwd-extop: fix memory leaks in ipapwd_gen_hashes() error path
  • b969b8ca2c67bdc7bbe40435fd41f0e2eea48414 ipa-pwd-extop: fix valueset memory leak in ipapwd_get_cur_kvno()
Metadata