From: Michal Koutný Date: Wed, 24 Jun 2020 18:40:02 +0000 (+0200) Subject: cgroup: Parse infinity properly for memory protections X-Git-Tag: v246-rc1~97^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=67e2baff6be8052f48dfdb2258fb68d63c95fe01;p=thirdparty%2Fsystemd.git cgroup: Parse infinity properly for memory protections This fixes commit db2b8d2e2895010f3443a589c9c1f1dfb25256a6 that rectified parsing empty values but broke parsing explicit infinity. Intended parsing semantics will be captured in a testcase in a follow up commit. Ref: #16248 --- diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c index c3186f38243..636ff654768 100644 --- a/src/core/load-fragment.c +++ b/src/core/load-fragment.c @@ -3427,13 +3427,12 @@ int config_parse_memory_limit( uint64_t bytes = CGROUP_LIMIT_MAX; int r; - if (STR_IN_SET(lvalue, "DefaultMemoryLow", - "DefaultMemoryMin", - "MemoryLow", - "MemoryMin")) + if (isempty(rvalue) && STR_IN_SET(lvalue, "DefaultMemoryLow", + "DefaultMemoryMin", + "MemoryLow", + "MemoryMin")) bytes = CGROUP_LIMIT_MIN; - - if (!isempty(rvalue) && !streq(rvalue, "infinity")) { + else if (!isempty(rvalue) && !streq(rvalue, "infinity")) { r = parse_permille(rvalue); if (r < 0) {