Skip to content

Commit 64cf1f2

Browse files
committed
runtime: Fix assignment of temporary reference
This could cause a segfault in usage.
1 parent a9160e4 commit 64cf1f2

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

plugins/gndtruth_extractor/src/gndtruth_extractor.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ class GndTruthSerializerImpl
100100
typedef SequentialFileSerializer<TSerializer, TOutputStream, const Sync&, const GndTruth&> base1;
101101

102102
public:
103-
GndTruthSerializerImpl(Logger& logger) : base1(logger), GndTruthSerializer() {}
103+
GndTruthSerializerImpl(Logger logger) : base1(logger), GndTruthSerializer() {}
104104
virtual ~GndTruthSerializerImpl() override;
105105
using base1::open_file;
106106
virtual void open_file(const std::string& filename) override {

runtime/include/cloe/utility/output_serializer.hpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,15 @@ class OutputStream {
4747
using char_iterator = std::vector<char>::iterator;
4848
using uint8_iterator = std::vector<uint8_t>::iterator;
4949

50-
explicit OutputStream(Logger& logger) : logger_(logger) {}
50+
explicit OutputStream(Logger logger) : logger_(logger) {}
5151
virtual ~OutputStream() = default;
5252
virtual std::string make_default_filename(const std::string& default_filename) = 0;
5353
virtual bool open_stream() = 0;
5454
virtual void write(const char* s, std::streamsize count) = 0;
5555
virtual void close_stream() = 0;
5656

5757
protected:
58-
Logger& logger_;
58+
Logger logger_;
5959
};
6060

6161
template <typename... TSerializerArgs>
@@ -106,7 +106,7 @@ class FileOutputStream : public BasicFileOutputStream {
106106

107107
class FilteringOutputStream : public BasicFileOutputStream {
108108
public:
109-
explicit FilteringOutputStream(Logger& logger)
109+
explicit FilteringOutputStream(Logger logger)
110110
: BasicFileOutputStream(logger), filter_(), out_(&filter_) {}
111111
virtual ~FilteringOutputStream() = default;
112112
bool open_file(const std::string& filename, const std::string& default_filename) override;
@@ -170,7 +170,7 @@ class Bzip2OutputStream : public FilteringOutputStream {
170170
template <typename TSerializer, typename TOutputStream, typename... TSerializerArgs>
171171
class FileSerializer {
172172
public:
173-
explicit FileSerializer(Logger& logger)
173+
explicit FileSerializer(Logger logger)
174174
: outputstream_(logger)
175175
, serializer_((void (OutputStream::*)(const char*, std::streamsize)) & TOutputStream::write,
176176
&outputstream_) {}

runtime/include/cloe/utility/output_serializer_json.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ class JsonFileSerializerImpl
102102
SequentialFileSerializer<SimpleJsonSerializer, TOutputStream, const Json&, bool>;
103103

104104
public:
105-
JsonFileSerializerImpl(Logger& logger) : file_base(logger), JsonFileSerializer() {}
105+
JsonFileSerializerImpl(Logger logger) : file_base(logger), JsonFileSerializer() {}
106106
virtual ~JsonFileSerializerImpl() = default;
107107
using file_base::open_file;
108108
void open_file(const std::string& filename) override {

0 commit comments

Comments
 (0)