Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Backports:SLE-15-SP5
dcmtk
dcmtk-CVE-2022-43272.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File dcmtk-CVE-2022-43272.patch of Package dcmtk
From f47271fd3cb82a77c04247d3f4801e8cc591c781 Mon Sep 17 00:00:00 2001 From: Marco Eichelberg <dicom@offis.de> Date: Thu, 9 Jun 2022 10:03:38 +0200 Subject: [PATCH] Fixed memory leak in single process mode. Fixed a memory leak in dcmqrscp's single process mode. Thanks to <songxiangpu@mail.sdu.edu.cn> for the bug report and test data. --- dcmqrdb/libsrc/dcmqrsrv.cc | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/dcmqrdb/libsrc/dcmqrsrv.cc b/dcmqrdb/libsrc/dcmqrsrv.cc index 157e6c0..f5f9df6 100644 --- a/dcmqrdb/libsrc/dcmqrsrv.cc +++ b/dcmqrdb/libsrc/dcmqrsrv.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1993-2021, OFFIS e.V. + * Copyright (C) 1993-2022, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -1126,21 +1126,17 @@ OFCondition DcmQueryRetrieveSCP::waitForAssociation(T_ASC_Network * theNet) #endif } - // cleanup code + // clean-up association OFCondition oldcond = cond; /* store condition flag for later use */ - if (!options_.singleProcess_ && (cond != ASC_SHUTDOWNAPPLICATION)) + cond = ASC_dropAssociation(assoc); + if (cond.bad()) { - /* the child will handle the association, we can drop it */ - cond = ASC_dropAssociation(assoc); - if (cond.bad()) - { - DCMQRDB_ERROR("Cannot Drop Association: " << DimseCondition::dump(temp_str, cond)); - } - cond = ASC_destroyAssociation(&assoc); - if (cond.bad()) - { - DCMQRDB_ERROR("Cannot Destroy Association: " << DimseCondition::dump(temp_str, cond)); - } + DCMQRDB_ERROR("Cannot Drop Association: " << DimseCondition::dump(temp_str, cond)); + } + cond = ASC_destroyAssociation(&assoc); + if (cond.bad()) + { + DCMQRDB_ERROR("Cannot Destroy Association: " << DimseCondition::dump(temp_str, cond)); } if (oldcond == ASC_SHUTDOWNAPPLICATION) cond = oldcond; /* abort flag is reported to top-level wait loop */ -- 2.40.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor