mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-07-26 09:04:33 +08:00
Fixed memory leak in Semver::set_metadata() and Semver::set_prerelease().
This commit is contained in:
parent
82a3f1c965
commit
26b28699f1
@ -110,10 +110,30 @@ public:
|
|||||||
void set_maj(int maj) { ver.major = maj; }
|
void set_maj(int maj) { ver.major = maj; }
|
||||||
void set_min(int min) { ver.minor = min; }
|
void set_min(int min) { ver.minor = min; }
|
||||||
void set_patch(int patch) { ver.patch = patch; }
|
void set_patch(int patch) { ver.patch = patch; }
|
||||||
void set_metadata(boost::optional<const std::string&> meta) { ver.metadata = meta ? strdup(*meta) : nullptr; }
|
void set_metadata(boost::optional<const std::string &> meta)
|
||||||
void set_metadata(const char *meta) { ver.metadata = meta ? strdup(meta) : nullptr; }
|
{
|
||||||
void set_prerelease(boost::optional<const std::string&> pre) { ver.prerelease = pre ? strdup(*pre) : nullptr; }
|
if (ver.metadata)
|
||||||
void set_prerelease(const char *pre) { ver.prerelease = pre ? strdup(pre) : nullptr; }
|
free(ver.metadata);
|
||||||
|
ver.metadata = meta ? strdup(*meta) : nullptr;
|
||||||
|
}
|
||||||
|
void set_metadata(const char *meta)
|
||||||
|
{
|
||||||
|
if (ver.metadata)
|
||||||
|
free(ver.metadata);
|
||||||
|
ver.metadata = meta ? strdup(meta) : nullptr;
|
||||||
|
}
|
||||||
|
void set_prerelease(boost::optional<const std::string &> pre)
|
||||||
|
{
|
||||||
|
if (ver.prerelease)
|
||||||
|
free(ver.prerelease);
|
||||||
|
ver.prerelease = pre ? strdup(*pre) : nullptr;
|
||||||
|
}
|
||||||
|
void set_prerelease(const char *pre)
|
||||||
|
{
|
||||||
|
if (ver.prerelease)
|
||||||
|
free(ver.prerelease);
|
||||||
|
ver.prerelease = pre ? strdup(pre) : nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
// Comparison
|
// Comparison
|
||||||
bool operator<(const Semver &b) const { return ::semver_compare(ver, b.ver) == -1; }
|
bool operator<(const Semver &b) const { return ::semver_compare(ver, b.ver) == -1; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user