1.1 --- a/libexec/lib/src/elf.cc Fri Mar 03 19:29:33 2023 +0100
1.2 +++ b/libexec/lib/src/elf.cc Sat Mar 04 12:42:09 2023 +0100
1.3 @@ -1,7 +1,7 @@
1.4 /*
1.5 * ELF payload decoding support.
1.6 *
1.7 - * Copyright (C) 2022 Paul Boddie <paul@boddie.org.uk>
1.8 + * Copyright (C) 2022, 2023 Paul Boddie <paul@boddie.org.uk>
1.9 *
1.10 * This program is free software; you can redistribute it and/or
1.11 * modify it under the terms of the GNU General Public License as
1.12 @@ -85,11 +85,6 @@
1.13
1.14 Payload::~Payload()
1.15 {
1.16 - if (_segments != NULL)
1.17 - {
1.18 - for (unsigned int i = 0; i < segments(); i++)
1.19 - delete _segments[i];
1.20 - }
1.21 }
1.22
1.23 unsigned int Payload::segments()
1.24 @@ -107,6 +102,18 @@
1.25 {
1.26 }
1.27
1.28 +/* Specific payload destruction. */
1.29 +
1.30 +template <typename HEADER, typename PROGRAM_HEADER>
1.31 +PayloadVariant<HEADER, PROGRAM_HEADER>::~PayloadVariant()
1.32 +{
1.33 + if (_segments != NULL)
1.34 + {
1.35 + for (unsigned int i = 0; i < segments(); i++)
1.36 + delete _segments[i];
1.37 + }
1.38 +}
1.39 +
1.40 template <typename HEADER, typename PROGRAM_HEADER>
1.41 l4_addr_t PayloadVariant<HEADER, PROGRAM_HEADER>::entry_point()
1.42 {