Cleanups: start working on -Wsuggest-override, add some "final". NFCI.

This commit is contained in:
Markus F.X.J. Oberhumer
2021-03-28 21:19:29 +02:00
parent 1518e5bc98
commit f6ff5a2805
18 changed files with 135 additions and 127 deletions
+1
View File
@@ -98,6 +98,7 @@ mf.CXXFLAGS += -fno-strict-aliasing -fno-strict-overflow
mf.CXXFLAGS += -funsigned-char mf.CXXFLAGS += -funsigned-char
mf.CXXFLAGS += $(CXXFLAGS_SANITIZE) mf.CXXFLAGS += $(CXXFLAGS_SANITIZE)
mf.CXXFLAGS += -Wall -Wextra -Wcast-align -Wcast-qual -Wmissing-declarations -Wpointer-arith -Wshadow -Wvla -Wwrite-strings mf.CXXFLAGS += -Wall -Wextra -Wcast-align -Wcast-qual -Wmissing-declarations -Wpointer-arith -Wshadow -Wvla -Wwrite-strings
##mf.CXXFLAGS += -Wsuggest-override
mf.CXXFLAGS += $(CXXFLAGS_WERROR) mf.CXXFLAGS += $(CXXFLAGS_WERROR)
# rules # rules
+7 -2
View File
@@ -84,9 +84,14 @@ struct AbstractPolicy {
}; };
#endif #endif
#if defined(BELE_RTP)
#undef C
#define C const override
#endif
struct BEPolicy struct BEPolicy
#if defined(BELE_RTP) #if defined(BELE_RTP)
: public AbstractPolicy final : public AbstractPolicy
#endif #endif
{ {
inline BEPolicy() {} inline BEPolicy() {}
@@ -142,7 +147,7 @@ struct BEPolicy
struct LEPolicy struct LEPolicy
#if defined(BELE_RTP) #if defined(BELE_RTP)
: public AbstractPolicy final : public AbstractPolicy
#endif #endif
{ {
inline LEPolicy() {} inline LEPolicy() {}
+3
View File
@@ -36,6 +36,9 @@
#if (ACC_CC_GNUC >= 0x040200) #if (ACC_CC_GNUC >= 0x040200)
# pragma GCC diagnostic ignored "-Wshadow" # pragma GCC diagnostic ignored "-Wshadow"
#endif #endif
#if (ACC_CC_GNUC >= 0x050100)
# pragma GCC diagnostic ignored "-Wsuggest-override"
#endif
#if (ACC_CC_MSC) #if (ACC_CC_MSC)
# pragma warning(disable: 4456) // -Wno-shadow # pragma warning(disable: 4456) // -Wno-shadow
#endif #endif
+10 -10
View File
@@ -86,7 +86,7 @@ public:
// //
**************************************************************************/ **************************************************************************/
class InputFile : public FileBase class InputFile final : public FileBase
{ {
typedef FileBase super; typedef FileBase super;
public: public:
@@ -99,15 +99,15 @@ public:
sopen(name, flags, -1); sopen(name, flags, -1);
} }
virtual int read(void *buf, int len); virtual int read(void *buf, int len) override;
virtual int readx(void *buf, int len); virtual int readx(void *buf, int len) override;
virtual int read(MemBuffer *buf, int len); virtual int read(MemBuffer *buf, int len);
virtual int readx(MemBuffer *buf, int len); virtual int readx(MemBuffer *buf, int len);
virtual int read(MemBuffer &buf, int len); virtual int read(MemBuffer &buf, int len);
virtual int readx(MemBuffer &buf, int len); virtual int readx(MemBuffer &buf, int len);
virtual upx_off_t seek(upx_off_t off, int whence); virtual upx_off_t seek(upx_off_t off, int whence) override;
virtual upx_off_t tell() const; virtual upx_off_t tell() const override;
virtual upx_off_t st_size_orig() const; virtual upx_off_t st_size_orig() const;
protected: protected:
upx_off_t _length_orig; upx_off_t _length_orig;
@@ -118,7 +118,7 @@ protected:
// //
**************************************************************************/ **************************************************************************/
class OutputFile : public FileBase class OutputFile final : public FileBase
{ {
typedef FileBase super; typedef FileBase super;
public: public:
@@ -132,17 +132,17 @@ public:
} }
virtual bool openStdout(int flags=0, bool force=false); virtual bool openStdout(int flags=0, bool force=false);
virtual void write(const void *buf, int len); virtual void write(const void *buf, int len) override;
virtual void write(const MemBuffer *buf, int len); virtual void write(const MemBuffer *buf, int len);
virtual void write(const MemBuffer &buf, int len); virtual void write(const MemBuffer &buf, int len);
virtual void set_extent(upx_off_t offset, upx_off_t length); virtual void set_extent(upx_off_t offset, upx_off_t length) override;
virtual upx_off_t unset_extent(); // returns actual length virtual upx_off_t unset_extent(); // returns actual length
upx_off_t getBytesWritten() const { return bytes_written; } upx_off_t getBytesWritten() const { return bytes_written; }
virtual upx_off_t st_size() const; // { return _length; } virtual upx_off_t st_size() const override; // { return _length; }
// FIXME - these won't work when using the '--stdout' option // FIXME - these won't work when using the '--stdout' option
virtual upx_off_t seek(upx_off_t off, int whence); virtual upx_off_t seek(upx_off_t off, int whence) override;
virtual void rewrite(const void *buf, int len); virtual void rewrite(const void *buf, int len);
// util // util
+27 -27
View File
@@ -155,21 +155,21 @@ class ElfLinkerAMD64 : public ElfLinker {
typedef ElfLinker super; typedef ElfLinker super;
protected: protected:
virtual void alignCode(unsigned len) { alignWithByte(len, 0x90); } virtual void alignCode(unsigned len) override { alignWithByte(len, 0x90); }
virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value, virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value,
const char *type); const char *type) override;
}; };
class ElfLinkerARM64 : public ElfLinker { class ElfLinkerARM64 final : public ElfLinker {
typedef ElfLinker super; typedef ElfLinker super;
protected: protected:
virtual void alignCode(unsigned len) { alignWithByte(len, 0x90); } virtual void alignCode(unsigned len) override { alignWithByte(len, 0x90); }
virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value, virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value,
const char *type); const char *type) override;
}; };
class ElfLinkerArmBE : public ElfLinker { class ElfLinkerArmBE final : public ElfLinker {
typedef ElfLinker super; typedef ElfLinker super;
public: public:
@@ -177,38 +177,38 @@ public:
protected: protected:
virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value, virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value,
const char *type); const char *type) override;
}; };
class ElfLinkerArmLE : public ElfLinker { class ElfLinkerArmLE final : public ElfLinker {
typedef ElfLinker super; typedef ElfLinker super;
protected: protected:
virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value, virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value,
const char *type); const char *type) override;
}; };
class ElfLinkerArm64LE : public ElfLinker { class ElfLinkerArm64LE final : public ElfLinker {
typedef ElfLinker super; typedef ElfLinker super;
protected: protected:
virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value, virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value,
const char *type); const char *type) override;
}; };
class ElfLinkerM68k : public ElfLinker { class ElfLinkerM68k final : public ElfLinker {
typedef ElfLinker super; typedef ElfLinker super;
public: public:
ElfLinkerM68k() { bele = &N_BELE_RTP::be_policy; } ElfLinkerM68k() { bele = &N_BELE_RTP::be_policy; }
protected: protected:
virtual void alignCode(unsigned len); virtual void alignCode(unsigned len) override;
virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value, virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value,
const char *type); const char *type) override;
}; };
class ElfLinkerMipsBE : public ElfLinker { class ElfLinkerMipsBE final : public ElfLinker {
typedef ElfLinker super; typedef ElfLinker super;
public: public:
@@ -216,18 +216,18 @@ public:
protected: protected:
virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value, virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value,
const char *type); const char *type) override;
}; };
class ElfLinkerMipsLE : public ElfLinker { class ElfLinkerMipsLE final : public ElfLinker {
typedef ElfLinker super; typedef ElfLinker super;
protected: protected:
virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value, virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value,
const char *type); const char *type) override;
}; };
class ElfLinkerPpc32 : public ElfLinker { class ElfLinkerPpc32 final : public ElfLinker {
typedef ElfLinker super; typedef ElfLinker super;
public: public:
@@ -235,18 +235,18 @@ public:
protected: protected:
virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value, virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value,
const char *type); const char *type) override;
}; };
class ElfLinkerPpc64le : public ElfLinker { class ElfLinkerPpc64le final : public ElfLinker {
typedef ElfLinker super; typedef ElfLinker super;
protected: protected:
virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value, virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value,
const char *type); const char *type) override;
}; };
class ElfLinkerPpc64 : public ElfLinker { class ElfLinkerPpc64 final : public ElfLinker {
typedef ElfLinker super; typedef ElfLinker super;
public: public:
@@ -254,16 +254,16 @@ public:
protected: protected:
virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value, virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value,
const char *type); const char *type) override;
}; };
class ElfLinkerX86 : public ElfLinker { class ElfLinkerX86 final : public ElfLinker {
typedef ElfLinker super; typedef ElfLinker super;
protected: protected:
virtual void alignCode(unsigned len) { alignWithByte(len, 0x90); } virtual void alignCode(unsigned len) override { alignWithByte(len, 0x90); }
virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value, virtual void relocate1(const Relocation *, upx_byte *location, upx_uint64_t value,
const char *type); const char *type) override;
}; };
#endif /* already included */ #endif /* already included */
+2 -2
View File
@@ -56,8 +56,8 @@ public:
unsigned s1addr); unsigned s1addr);
virtual void addNewRelocations(Reloc &, unsigned upxsection); virtual void addNewRelocations(Reloc &, unsigned upxsection);
virtual unsigned getProcessImportParam(unsigned upxsection); virtual unsigned getProcessImportParam(unsigned upxsection);
virtual void setOhDataBase(const pe_section_t *osection); virtual void setOhDataBase(const pe_section_t *osection) override;
virtual void setOhHeaderSize(const pe_section_t *osection); virtual void setOhHeaderSize(const pe_section_t *osection) override;
virtual void pack(OutputFile *fo); virtual void pack(OutputFile *fo);
virtual bool canPack(); virtual bool canPack();
+13 -13
View File
@@ -39,26 +39,26 @@ class PackCom : public Packer
typedef Packer super; typedef Packer super;
public: public:
PackCom(InputFile *f) : super(f) { bele = &N_BELE_RTP::le_policy; } PackCom(InputFile *f) : super(f) { bele = &N_BELE_RTP::le_policy; }
virtual int getVersion() const { return 13; } virtual int getVersion() const override { return 13; }
virtual int getFormat() const { return UPX_F_DOS_COM; } virtual int getFormat() const override { return UPX_F_DOS_COM; }
virtual const char *getName() const { return "dos/com"; } virtual const char *getName() const override { return "dos/com"; }
//virtual const char *getFullName(const options_t *o) const { return o && o->cpu == o->CPU_8086 ? "i086-dos16.com" : "i286-dos16.com"; } //virtual const char *getFullName(const options_t *o) const override { return o && o->cpu == o->CPU_8086 ? "i086-dos16.com" : "i286-dos16.com"; }
virtual const char *getFullName(const options_t *) const { return "i086-dos16.com"; } virtual const char *getFullName(const options_t *) const override { return "i086-dos16.com"; }
virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getCompressionMethods(int method, int level) const override;
virtual const int *getFilters() const; virtual const int *getFilters() const override;
virtual void pack(OutputFile *fo); virtual void pack(OutputFile *fo) override;
virtual void unpack(OutputFile *fo); virtual void unpack(OutputFile *fo) override;
virtual bool canPack(); virtual bool canPack() override;
virtual int canUnpack(); virtual int canUnpack() override;
protected: protected:
virtual unsigned getCallTrickOffset() const { return 0x100; } virtual unsigned getCallTrickOffset() const { return 0x100; }
virtual Linker* newLinker() const; virtual Linker* newLinker() const override;
protected: protected:
virtual void buildLoader(const Filter *ft); virtual void buildLoader(const Filter *ft) override;
virtual void patchLoader(OutputFile *fo, upx_byte *, int, unsigned); virtual void patchLoader(OutputFile *fo, upx_byte *, int, unsigned);
virtual void addFilter16(int filter_id); virtual void addFilter16(int filter_id);
}; };
+15 -15
View File
@@ -34,32 +34,32 @@
// dos/exe // dos/exe
**************************************************************************/ **************************************************************************/
class PackExe : public Packer class PackExe final : public Packer
{ {
typedef Packer super; typedef Packer super;
public: public:
PackExe(InputFile *f); PackExe(InputFile *f);
virtual int getVersion() const { return 13; } virtual int getVersion() const override { return 13; }
virtual int getFormat() const { return UPX_F_DOS_EXE; } virtual int getFormat() const override { return UPX_F_DOS_EXE; }
virtual const char *getName() const { return "dos/exe"; } virtual const char *getName() const override { return "dos/exe"; }
//virtual const char *getFullName(const options_t *o) const { return o && o->cpu == o->CPU_8086 ? "i086-dos16.exe" : "i286-dos16.exe"; } //virtual const char *getFullName(const options_t *o) const { return o && o->cpu == o->CPU_8086 ? "i086-dos16.exe" : "i286-dos16.exe"; }
virtual const char *getFullName(const options_t *) const { return "i086-dos16.exe"; } virtual const char *getFullName(const options_t *) const override { return "i086-dos16.exe"; }
virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getCompressionMethods(int method, int level) const override;
virtual const int *getFilters() const; virtual const int *getFilters() const override;
virtual void pack(OutputFile *fo); virtual void pack(OutputFile *fo) override;
virtual void unpack(OutputFile *fo); virtual void unpack(OutputFile *fo) override;
virtual bool canPack(); virtual bool canPack() override;
virtual int canUnpack(); virtual int canUnpack() override;
// unpacker capabilities // unpacker capabilities
virtual bool canUnpackVersion(int version) const virtual bool canUnpackVersion(int version) const override
{ {
// NOTE: could adapt p_exe.cpp to support (version >= 8) // NOTE: could adapt p_exe.cpp to support (version >= 8)
return (version >= 10); return (version >= 10);
} }
virtual bool canUnpackFormat(int format) const virtual bool canUnpackFormat(int format) const override
{ {
return (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH); return (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH);
} }
@@ -70,8 +70,8 @@ protected:
virtual int readFileHeader(void); virtual int readFileHeader(void);
virtual int fillExeHeader(struct exe_header_t *) const; virtual int fillExeHeader(struct exe_header_t *) const;
virtual void buildLoader(const Filter *ft); virtual void buildLoader(const Filter *ft) override;
virtual Linker* newLinker() const; virtual Linker* newLinker() const override;
void addLoaderEpilogue(int flag); void addLoaderEpilogue(int flag);
__packed_struct(exe_header_t) __packed_struct(exe_header_t)
+10 -10
View File
@@ -34,25 +34,25 @@
// dos/sys // dos/sys
**************************************************************************/ **************************************************************************/
class PackSys : public PackCom class PackSys final : public PackCom
{ {
typedef PackCom super; typedef PackCom super;
public: public:
PackSys(InputFile *f) : super(f) { } PackSys(InputFile *f) : super(f) { }
virtual int getVersion() const { return 13; } virtual int getVersion() const override { return 13; }
virtual int getFormat() const { return UPX_F_DOS_SYS; } virtual int getFormat() const override { return UPX_F_DOS_SYS; }
virtual const char *getName() const { return "dos/sys"; } virtual const char *getName() const override { return "dos/sys"; }
//virtual const char *getFullName(const options_t *o) const { return o && o->cpu == o->CPU_8086 ? "i086-dos16.sys" : "i286-dos16.sys"; } //virtual const char *getFullName(const options_t *o) const override { return o && o->cpu == o->CPU_8086 ? "i086-dos16.sys" : "i286-dos16.sys"; }
virtual const char *getFullName(const options_t *) const { return "i086-dos16.sys"; } virtual const char *getFullName(const options_t *) const override { return "i086-dos16.sys"; }
virtual bool canPack(); virtual bool canPack() override;
protected: protected:
virtual unsigned getCallTrickOffset() const { return 0; } virtual unsigned getCallTrickOffset() const override { return 0; }
protected: protected:
virtual void buildLoader(const Filter *ft); virtual void buildLoader(const Filter *ft) override;
virtual void patchLoader(OutputFile *fo, upx_byte *, int, unsigned); virtual void patchLoader(OutputFile *fo, upx_byte *, int, unsigned) override;
}; };
+17 -16
View File
@@ -32,33 +32,34 @@
// atari/tos // atari/tos
**************************************************************************/ **************************************************************************/
class PackTos : public Packer { class PackTos final : public Packer {
typedef Packer super; typedef Packer super;
public: public:
PackTos(InputFile *f); PackTos(InputFile *f);
virtual int getVersion() const { return 13; } virtual int getVersion() const override { return 13; }
virtual int getFormat() const { return UPX_F_ATARI_TOS; } virtual int getFormat() const override { return UPX_F_ATARI_TOS; }
virtual const char *getName() const { return "atari/tos"; } virtual const char *getName() const override { return "atari/tos"; }
virtual const char *getFullName(const options_t *) const { return "m68k-atari.tos"; } virtual const char *getFullName(const options_t *) const override { return "m68k-atari.tos"; }
virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getCompressionMethods(int method, int level) const override;
virtual const int *getFilters() const; virtual const int *getFilters() const override;
virtual void pack(OutputFile *fo); virtual void pack(OutputFile *fo) override;
virtual void unpack(OutputFile *fo); virtual void unpack(OutputFile *fo) override;
virtual bool canPack(); virtual bool canPack() override;
virtual int canUnpack(); virtual int canUnpack() override;
virtual void fileInfo(); virtual void fileInfo() override;
protected: protected:
virtual Linker *newLinker() const; virtual Linker *newLinker() const override;
virtual void buildLoader(const Filter *ft); virtual void buildLoader(const Filter *ft) override;
unsigned getDecomprOffset(int method, int small) const; unsigned getDecomprOffset(int method, int small) const;
virtual int readFileHeader(); int readFileHeader();
virtual bool checkFileHeader(); bool checkFileHeader();
struct alignas(1) tos_header_t { struct alignas(1) tos_header_t {
BE16 fh_magic; BE16 fh_magic;
+2 -2
View File
@@ -52,8 +52,8 @@ public:
unsigned sizeof_oh, unsigned isize_isplit, unsigned sizeof_oh, unsigned isize_isplit,
unsigned s1addr); unsigned s1addr);
virtual void addNewRelocations(Reloc &, unsigned upxsection); virtual void addNewRelocations(Reloc &, unsigned upxsection);
virtual void setOhDataBase(const pe_section_t *osection); virtual void setOhDataBase(const pe_section_t *osection) override;
virtual void setOhHeaderSize(const pe_section_t *osection); virtual void setOhHeaderSize(const pe_section_t *osection) override;
virtual void pack(OutputFile *fo); virtual void pack(OutputFile *fo);
virtual bool canPack(); virtual bool canPack();
+2 -2
View File
@@ -50,8 +50,8 @@ public:
virtual void defineSymbols(unsigned ncsection, unsigned upxsection, virtual void defineSymbols(unsigned ncsection, unsigned upxsection,
unsigned sizeof_oh, unsigned isize_isplit, unsigned sizeof_oh, unsigned isize_isplit,
unsigned s1addr); unsigned s1addr);
virtual void setOhDataBase(const pe_section_t *) {} virtual void setOhDataBase(const pe_section_t *) override {}
virtual void setOhHeaderSize(const pe_section_t *) {} virtual void setOhHeaderSize(const pe_section_t *) override {}
virtual void pack(OutputFile *fo); virtual void pack(OutputFile *fo);
virtual bool canPack(); virtual bool canPack();
+15 -15
View File
@@ -34,38 +34,38 @@
// watcom/le // watcom/le
**************************************************************************/ **************************************************************************/
class PackWcle : public Packer, public LeFile class PackWcle final : public Packer, public LeFile
{ {
typedef Packer super; typedef Packer super;
public: public:
PackWcle(InputFile *f) : super(f), LeFile(f) { bele = &N_BELE_RTP::le_policy; } PackWcle(InputFile *f) : super(f), LeFile(f) { bele = &N_BELE_RTP::le_policy; }
virtual int getVersion() const { return 13; } virtual int getVersion() const override { return 13; }
virtual int getFormat() const { return UPX_F_WATCOM_LE; } virtual int getFormat() const override { return UPX_F_WATCOM_LE; }
virtual const char *getName() const { return "watcom/le"; } virtual const char *getName() const override { return "watcom/le"; }
virtual const char *getFullName(const options_t *) const { return "i386-dos32.watcom.le"; } virtual const char *getFullName(const options_t *) const override { return "i386-dos32.watcom.le"; }
virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getCompressionMethods(int method, int level) const override;
virtual const int *getFilters() const; virtual const int *getFilters() const override;
virtual void pack(OutputFile *fo); virtual void pack(OutputFile *fo) override;
virtual void unpack(OutputFile *fo); virtual void unpack(OutputFile *fo) override;
virtual bool canPack(); virtual bool canPack() override;
virtual int canUnpack(); virtual int canUnpack() override;
protected: protected:
virtual void handleStub(OutputFile *fo); virtual void handleStub(OutputFile *fo);
virtual void buildLoader(const Filter *ft); virtual void buildLoader(const Filter *ft) override;
virtual Linker* newLinker() const; virtual Linker* newLinker() const override;
virtual void readObjectTable(); virtual void readObjectTable() override;
virtual void encodeObjectTable(); virtual void encodeObjectTable();
virtual void decodeObjectTable(); virtual void decodeObjectTable();
virtual void encodeFixupPageTable(); virtual void encodeFixupPageTable();
virtual void decodeFixupPageTable(); virtual void decodeFixupPageTable();
virtual void encodePageMap(); virtual void encodePageMap() override;
virtual void encodeEntryTable(); virtual void encodeEntryTable();
virtual void decodeEntryTable(); virtual void decodeEntryTable();
+2 -4
View File
@@ -629,10 +629,8 @@ int Packer::patchPackHeader(void *b, int blen) {
return boff; return boff;
} }
bool Packer::getPackHeader(void const *b, int blen, bool allow_incompressible) {
bool Packer::getPackHeader(void const *b, int blen, bool allow_incompressible) if (!ph.fillPackHeader((unsigned char const *) b, blen))
{
if (!ph.fillPackHeader((unsigned char const *)b, blen))
return false; return false;
if (ph.version > getVersion()) if (ph.version > getVersion())
+2 -2
View File
@@ -199,8 +199,8 @@ protected:
// packheader handling // packheader handling
virtual int patchPackHeader(void *b, int blen); virtual int patchPackHeader(void *b, int blen);
virtual bool getPackHeader(void const *b, int blen, bool allow_incompressible=false); virtual bool getPackHeader(void const *b, int blen, bool allow_incompressible = false);
virtual bool readPackHeader(int len, bool allow_incompressible=false); virtual bool readPackHeader(int len, bool allow_incompressible = false);
virtual void checkAlreadyPacked(const void *b, int blen); virtual void checkAlreadyPacked(const void *b, int blen);
// loader core // loader core
+2 -2
View File
@@ -596,7 +596,7 @@ class PeFile::ImportLinker : public ElfLinkerAMD64
{ {
struct tstr : private ::noncopyable struct tstr : private ::noncopyable
{ {
char *s; char *s = nullptr;
explicit tstr(char *str) : s(str) {} explicit tstr(char *str) : s(str) {}
~tstr() { delete [] s; } ~tstr() { delete [] s; }
operator char *() const { return s; } operator char *() const { return s; }
@@ -717,7 +717,7 @@ class PeFile::ImportLinker : public ElfLinkerAMD64
return strcmp(s1->name, s2->name); return strcmp(s1->name, s2->name);
} }
virtual void alignCode(unsigned len) { alignWithByte(len, 0); } virtual void alignCode(unsigned len) override { alignWithByte(len, 0); }
const Section *getThunk(const char *dll, const char *proc, char tsep) const const Section *getThunk(const char *dll, const char *proc, char tsep) const
{ {
+4 -4
View File
@@ -42,10 +42,10 @@ int upx_safe_vsnprintf(char *str, upx_rsize_t max_size, const char *format, va_l
else else
assert(max_size == 0); assert(max_size == 0);
long long n = vsnprintf(str, max_size, format, ap); long long len = vsnprintf(str, max_size, format, ap);
assert(n >= 0); assert(len >= 0);
assert(n < UPX_RSIZE_MAX_STR); assert(len < UPX_RSIZE_MAX_STR);
size = (size_t) n + 1; size = (size_t) len + 1;
// postconditions // postconditions
assert(size > 0); assert(size > 0);
+1 -1
View File
@@ -37,7 +37,7 @@ class UiPacker;
// //
**************************************************************************/ **************************************************************************/
class UiPacker { class UiPacker final {
public: public:
UiPacker(const Packer *p_); UiPacker(const Packer *p_);