]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Merge pull request #8993 from keszybz/sd-resolve-coverity-and-related-fixes
authorLennart Poettering <lennart@poettering.net>
Fri, 18 May 2018 18:30:12 +0000 (20:30 +0200)
committerGitHub <noreply@github.com>
Fri, 18 May 2018 18:30:12 +0000 (20:30 +0200)
sd-resolve coverity and related fixes

1  2 
src/basic/path-util.c
src/test/test-fileio.c
src/test/test-unit-file.c

diff --combined src/basic/path-util.c
index 460b7929bcb09924d3d424a18b8e3c723430c534,92897239cc78c22ea445ca941b62a68da96bd7dc..4f428818d167f74a5fe33689ca16e0277c81f931
@@@ -685,12 -685,11 +685,12 @@@ int parse_path_argument_and_warn(const 
                  return log_error_errno(r, "Failed to parse path \"%s\" and make it absolute: %m", path);
  
          path_kill_slashes(p);
 -        if (suppress_root && path_equal(p, "/"))
 +        if (suppress_root && empty_or_root(p))
                  p = mfree(p);
  
          free(*arg);
          *arg = p;
 +
          return 0;
  }
  
@@@ -919,7 -918,7 +919,7 @@@ int systemd_installation_has_version(co
                  if (r < 0)
                          return r;
  
-                 assert_se((c = endswith(path, "*.so")));
+                 assert_se(c = endswith(path, "*.so"));
                  *c = '\0'; /* truncate the glob part */
  
                  STRV_FOREACH(name, names) {
diff --combined src/test/test-fileio.c
index 50d1e792c0a772927337a2150c15aa84696fc264,2ae954c2f26a40a68bf838c01ed729a980742b8b..bbddbf3bcdae7c289e55a637a24e4a7002d73e10
@@@ -15,7 -15,6 +15,7 @@@
  #include "env-util.h"
  #include "fd-util.h"
  #include "fileio.h"
 +#include "fs-util.h"
  #include "io-util.h"
  #include "parse-util.h"
  #include "process-util.h"
@@@ -24,8 -23,7 +24,8 @@@
  #include "util.h"
  
  static void test_parse_env_file(void) {
 -        char    t[] = "/tmp/test-fileio-in-XXXXXX",
 +        _cleanup_(unlink_tempfilep) char
 +                t[] = "/tmp/test-fileio-in-XXXXXX",
                  p[] = "/tmp/test-fileio-out-XXXXXX";
          int fd, r;
          FILE *f;
  
          r = load_env_file(NULL, p, NULL, &b);
          assert_se(r >= 0);
 -
 -        unlink(t);
 -        unlink(p);
  }
  
  static void test_parse_multiline_env_file(void) {
 -        char    t[] = "/tmp/test-fileio-in-XXXXXX",
 +        _cleanup_(unlink_tempfilep) char
 +                t[] = "/tmp/test-fileio-in-XXXXXX",
                  p[] = "/tmp/test-fileio-out-XXXXXX";
          int fd, r;
          FILE *f;
  
          r = load_env_file(NULL, p, NULL, &b);
          assert_se(r >= 0);
 -
 -        unlink(t);
 -        unlink(p);
  }
  
  static void test_merge_env_file(void) {
 -        char t[] = "/tmp/test-fileio-XXXXXX";
 +        _cleanup_(unlink_tempfilep) char t[] = "/tmp/test-fileio-XXXXXX";
          int fd, r;
          _cleanup_fclose_ FILE *f = NULL;
          _cleanup_strv_free_ char **a = NULL;
  }
  
  static void test_merge_env_file_invalid(void) {
 -        char t[] = "/tmp/test-fileio-XXXXXX";
 +        _cleanup_(unlink_tempfilep) char t[] = "/tmp/test-fileio-XXXXXX";
          int fd, r;
          _cleanup_fclose_ FILE *f = NULL;
          _cleanup_strv_free_ char **a = NULL;
  }
  
  static void test_executable_is_script(void) {
 -        char t[] = "/tmp/test-executable-XXXXXX";
 +        _cleanup_(unlink_tempfilep) char t[] = "/tmp/test-fileio-XXXXXX";
          int fd, r;
 -        FILE *f;
 +        _cleanup_fclose_ FILE *f = NULL;
          char *command;
  
          fd = mkostemp_safe(t);
                  assert_se(startswith(command, "/"));
                  free(command);
          }
 -
 -        fclose(f);
 -        unlink(t);
  }
  
  static void test_status_field(void) {
@@@ -386,8 -392,8 +386,8 @@@ static void test_capeff(void) 
  }
  
  static void test_write_string_stream(void) {
 -        char fn[] = "/tmp/test-write_string_stream-XXXXXX";
 -        FILE *f = NULL;
 +        _cleanup_(unlink_tempfilep) char fn[] = "/tmp/test-write_string_stream-XXXXXX";
 +        _cleanup_fclose_ FILE *f = NULL;
          int fd;
          char buf[64];
  
          assert_se(fgets(buf, sizeof(buf), f));
          printf(">%s<", buf);
          assert_se(streq(buf, "boohoo"));
 -        f = safe_fclose(f);
 -
 -        unlink(fn);
  }
  
  static void test_write_string_file(void) {
 -        char fn[] = "/tmp/test-write_string_file-XXXXXX";
 +        _cleanup_(unlink_tempfilep) char fn[] = "/tmp/test-write_string_file-XXXXXX";
          char buf[64] = {};
          _cleanup_close_ int fd;
  
  
          assert_se(read(fd, buf, sizeof(buf)) == 7);
          assert_se(streq(buf, "boohoo\n"));
 -
 -        unlink(fn);
  }
  
  static void test_write_string_file_no_create(void) {
 -        char fn[] = "/tmp/test-write_string_file_no_create-XXXXXX";
 +        _cleanup_(unlink_tempfilep) char fn[] = "/tmp/test-write_string_file_no_create-XXXXXX";
          _cleanup_close_ int fd;
          char buf[64] = {0};
  
  
          assert_se(read(fd, buf, sizeof(buf)) == STRLEN("boohoo\n"));
          assert_se(streq(buf, "boohoo\n"));
 -
 -        unlink(fn);
  }
  
  static void test_write_string_file_verify(void) {
          int r;
  
          assert_se(read_one_line_file("/proc/cmdline", &buf) >= 0);
-         assert_se((buf2 = strjoin(buf, "\n")));
+         assert_se(buf2 = strjoin(buf, "\n"));
  
          r = write_string_file("/proc/cmdline", buf, 0);
          assert_se(IN_SET(r, -EACCES, -EIO));
  }
  
  static void test_load_env_file_pairs(void) {
 -        char fn[] = "/tmp/test-load_env_file_pairs-XXXXXX";
 -        int fd;
 -        int r;
 +        _cleanup_(unlink_tempfilep) char fn[] = "/tmp/test-load_env_file_pairs-XXXXXX";
 +        int fd, r;
          _cleanup_fclose_ FILE *f = NULL;
          _cleanup_strv_free_ char **l = NULL;
          char **k, **v;
                  if (streq(*k, "SUPPORT_URL")) assert_se(streq(*v, "https://bbs.archlinux.org/"));
                  if (streq(*k, "BUG_REPORT_URL")) assert_se(streq(*v, "https://bugs.archlinux.org/"));
          }
 -
 -        unlink(fn);
  }
  
  static void test_search_and_fopen(void) {
          const char *dirs[] = {"/tmp/foo/bar", "/tmp", NULL};
 +
          char name[] = "/tmp/test-search_and_fopen.XXXXXX";
 -        int fd = -1;
 -        int r;
 +        int fd, r;
          FILE *f;
  
          fd = mkostemp_safe(name);
  
  static void test_search_and_fopen_nulstr(void) {
          const char dirs[] = "/tmp/foo/bar\0/tmp\0";
 -        char name[] = "/tmp/test-search_and_fopen.XXXXXX";
 -        int fd = -1;
 -        int r;
 +
 +        _cleanup_(unlink_tempfilep) char name[] = "/tmp/test-search_and_fopen.XXXXXX";
 +        int fd, r;
          FILE *f;
  
          fd = mkostemp_safe(name);
  }
  
  static void test_writing_tmpfile(void) {
 -        char name[] = "/tmp/test-systemd_writing_tmpfile.XXXXXX";
 +        _cleanup_(unlink_tempfilep) char name[] = "/tmp/test-systemd_writing_tmpfile.XXXXXX";
          _cleanup_free_ char *contents = NULL;
          size_t size;
 -        int r;
          _cleanup_close_ int fd = -1;
          struct iovec iov[3];
 +        int r;
  
          iov[0] = IOVEC_MAKE_STRING("abc\n");
          iov[1] = IOVEC_MAKE_STRING(ALPHANUMERICAL "\n");
          assert_se(r == 0);
          printf("contents: %s", contents);
          assert_se(streq(contents, "abc\n" ALPHANUMERICAL "\n"));
 -
 -        unlink(name);
  }
  
  static void test_tempfn(void) {
@@@ -685,7 -703,7 +685,7 @@@ static void test_read_line(void) 
  }
  
  static void test_read_line2(void) {
 -        char name[] = "/tmp/test-fileio.XXXXXX";
 +        _cleanup_(unlink_tempfilep) char name[] = "/tmp/test-fileio.XXXXXX";
          int fd;
          _cleanup_fclose_ FILE *f = NULL;
  
index fb4da530275790bd2da0552f4187017d3e78fceb,13db2f4225c5b3be13bfeadf137c1b5ee47c5fc5..7b74ed0dc3ebf09cc89c226e3ca714167f3f6c5f
  #include <unistd.h>
  
  #include "alloc-util.h"
 +#include "all-units.h"
  #include "capability-util.h"
 +#include "conf-parser.h"
  #include "fd-util.h"
  #include "fileio.h"
 +#include "fs-util.h"
  #include "hashmap.h"
  #include "hostname-util.h"
  #include "install-printf.h"
@@@ -533,7 -530,7 +533,7 @@@ static void test_load_env_file_1(void) 
          _cleanup_strv_free_ char **data = NULL;
          int r;
  
 -        char name[] = "/tmp/test-load-env-file.XXXXXX";
 +        _cleanup_(unlink_tempfilep) char name[] = "/tmp/test-load-env-file.XXXXXX";
          _cleanup_close_ int fd;
  
          fd = mkostemp_safe(name);
          assert_se(streq(data[4], "h=h"));
          assert_se(streq(data[5], "i=i"));
          assert_se(data[6] == NULL);
 -        unlink(name);
  }
  
  static void test_load_env_file_2(void) {
          _cleanup_strv_free_ char **data = NULL;
          int r;
  
 -        char name[] = "/tmp/test-load-env-file.XXXXXX";
 +        _cleanup_(unlink_tempfilep) char name[] = "/tmp/test-load-env-file.XXXXXX";
          _cleanup_close_ int fd;
  
          fd = mkostemp_safe(name);
          assert_se(r == 0);
          assert_se(streq(data[0], "a=a"));
          assert_se(data[1] == NULL);
 -        unlink(name);
  }
  
  static void test_load_env_file_3(void) {
          _cleanup_strv_free_ char **data = NULL;
          int r;
  
 -        char name[] = "/tmp/test-load-env-file.XXXXXX";
 +        _cleanup_(unlink_tempfilep) char name[] = "/tmp/test-load-env-file.XXXXXX";
          _cleanup_close_ int fd;
  
          fd = mkostemp_safe(name);
          r = load_env_file(NULL, name, NULL, &data);
          assert_se(r == 0);
          assert_se(data == NULL);
 -        unlink(name);
  }
  
  static void test_load_env_file_4(void) {
          _cleanup_strv_free_ char **data = NULL;
 -        char name[] = "/tmp/test-load-env-file.XXXXXX";
 +        _cleanup_(unlink_tempfilep) char name[] = "/tmp/test-load-env-file.XXXXXX";
          _cleanup_close_ int fd;
          int r;
  
          assert_se(streq(data[1], "MODULE_0=coretemp"));
          assert_se(streq(data[2], "MODULE_1=f71882fg"));
          assert_se(data[3] == NULL);
 -        unlink(name);
  }
  
  static void test_load_env_file_5(void) {
          _cleanup_strv_free_ char **data = NULL;
          int r;
  
 -        char name[] = "/tmp/test-load-env-file.XXXXXX";
 +        _cleanup_(unlink_tempfilep) char name[] = "/tmp/test-load-env-file.XXXXXX";
          _cleanup_close_ int fd;
  
          fd = mkostemp_safe(name);
          assert_se(streq(data[0], "a="));
          assert_se(streq(data[1], "b="));
          assert_se(data[2] == NULL);
 -        unlink(name);
  }
  
  static void test_install_printf(void) {
  
          assert_se(specifier_machine_id('m', NULL, NULL, &mid) >= 0 && mid);
          assert_se(specifier_boot_id('b', NULL, NULL, &bid) >= 0 && bid);
-         assert_se((host = gethostname_malloc()));
-         assert_se((user = uid_to_name(getuid())));
+         assert_se(host = gethostname_malloc());
+         assert_se(user = uid_to_name(getuid()));
          assert_se(asprintf(&uid, UID_FMT, getuid()) >= 0);
  
  #define expect(src, pattern, result)                                    \
@@@ -745,22 -747,22 +745,22 @@@ static void test_config_parse_capabilit
  static void test_config_parse_rlimit(void) {
          struct rlimit * rl[_RLIMIT_MAX] = {};
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitNOFILE", RLIMIT_NOFILE, "55", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitNOFILE", RLIMIT_NOFILE, "55", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_NOFILE]);
          assert_se(rl[RLIMIT_NOFILE]->rlim_cur == 55);
          assert_se(rl[RLIMIT_NOFILE]->rlim_cur == rl[RLIMIT_NOFILE]->rlim_max);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitNOFILE", RLIMIT_NOFILE, "55:66", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitNOFILE", RLIMIT_NOFILE, "55:66", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_NOFILE]);
          assert_se(rl[RLIMIT_NOFILE]->rlim_cur == 55);
          assert_se(rl[RLIMIT_NOFILE]->rlim_max == 66);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitNOFILE", RLIMIT_NOFILE, "infinity", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitNOFILE", RLIMIT_NOFILE, "infinity", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_NOFILE]);
          assert_se(rl[RLIMIT_NOFILE]->rlim_cur == RLIM_INFINITY);
          assert_se(rl[RLIMIT_NOFILE]->rlim_cur == rl[RLIMIT_NOFILE]->rlim_max);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitNOFILE", RLIMIT_NOFILE, "infinity:infinity", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitNOFILE", RLIMIT_NOFILE, "infinity:infinity", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_NOFILE]);
          assert_se(rl[RLIMIT_NOFILE]->rlim_cur == RLIM_INFINITY);
          assert_se(rl[RLIMIT_NOFILE]->rlim_cur == rl[RLIMIT_NOFILE]->rlim_max);
          rl[RLIMIT_NOFILE]->rlim_max = 20;
  
          /* Invalid values don't change rl */
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitNOFILE", RLIMIT_NOFILE, "10:20:30", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitNOFILE", RLIMIT_NOFILE, "10:20:30", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_NOFILE]);
          assert_se(rl[RLIMIT_NOFILE]->rlim_cur == 10);
          assert_se(rl[RLIMIT_NOFILE]->rlim_max == 20);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitNOFILE", RLIMIT_NOFILE, "wat:wat", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitNOFILE", RLIMIT_NOFILE, "wat:wat", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_NOFILE]);
          assert_se(rl[RLIMIT_NOFILE]->rlim_cur == 10);
          assert_se(rl[RLIMIT_NOFILE]->rlim_max == 20);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitNOFILE", RLIMIT_NOFILE, "66:wat", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitNOFILE", RLIMIT_NOFILE, "66:wat", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_NOFILE]);
          assert_se(rl[RLIMIT_NOFILE]->rlim_cur == 10);
          assert_se(rl[RLIMIT_NOFILE]->rlim_max == 20);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitNOFILE", RLIMIT_NOFILE, "200:100", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitNOFILE", RLIMIT_NOFILE, "200:100", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_NOFILE]);
          assert_se(rl[RLIMIT_NOFILE]->rlim_cur == 10);
          assert_se(rl[RLIMIT_NOFILE]->rlim_max == 20);
  
          rl[RLIMIT_NOFILE] = mfree(rl[RLIMIT_NOFILE]);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitCPU", RLIMIT_CPU, "56", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitCPU", RLIMIT_CPU, "56", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_CPU]);
          assert_se(rl[RLIMIT_CPU]->rlim_cur == 56);
          assert_se(rl[RLIMIT_CPU]->rlim_cur == rl[RLIMIT_CPU]->rlim_max);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitCPU", RLIMIT_CPU, "57s", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitCPU", RLIMIT_CPU, "57s", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_CPU]);
          assert_se(rl[RLIMIT_CPU]->rlim_cur == 57);
          assert_se(rl[RLIMIT_CPU]->rlim_cur == rl[RLIMIT_CPU]->rlim_max);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitCPU", RLIMIT_CPU, "40s:1m", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitCPU", RLIMIT_CPU, "40s:1m", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_CPU]);
          assert_se(rl[RLIMIT_CPU]->rlim_cur == 40);
          assert_se(rl[RLIMIT_CPU]->rlim_max == 60);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitCPU", RLIMIT_CPU, "infinity", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitCPU", RLIMIT_CPU, "infinity", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_CPU]);
          assert_se(rl[RLIMIT_CPU]->rlim_cur == RLIM_INFINITY);
          assert_se(rl[RLIMIT_CPU]->rlim_cur == rl[RLIMIT_CPU]->rlim_max);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitCPU", RLIMIT_CPU, "1234ms", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitCPU", RLIMIT_CPU, "1234ms", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_CPU]);
          assert_se(rl[RLIMIT_CPU]->rlim_cur == 2);
          assert_se(rl[RLIMIT_CPU]->rlim_cur == rl[RLIMIT_CPU]->rlim_max);
  
          rl[RLIMIT_CPU] = mfree(rl[RLIMIT_CPU]);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitRTTIME", RLIMIT_RTTIME, "58", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitRTTIME", RLIMIT_RTTIME, "58", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_RTTIME]);
          assert_se(rl[RLIMIT_RTTIME]->rlim_cur == 58);
          assert_se(rl[RLIMIT_RTTIME]->rlim_cur == rl[RLIMIT_RTTIME]->rlim_max);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitRTTIME", RLIMIT_RTTIME, "58:60", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitRTTIME", RLIMIT_RTTIME, "58:60", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_RTTIME]);
          assert_se(rl[RLIMIT_RTTIME]->rlim_cur == 58);
          assert_se(rl[RLIMIT_RTTIME]->rlim_max == 60);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitRTTIME", RLIMIT_RTTIME, "59s", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitRTTIME", RLIMIT_RTTIME, "59s", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_RTTIME]);
          assert_se(rl[RLIMIT_RTTIME]->rlim_cur == 59 * USEC_PER_SEC);
          assert_se(rl[RLIMIT_RTTIME]->rlim_cur == rl[RLIMIT_RTTIME]->rlim_max);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitRTTIME", RLIMIT_RTTIME, "59s:123s", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitRTTIME", RLIMIT_RTTIME, "59s:123s", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_RTTIME]);
          assert_se(rl[RLIMIT_RTTIME]->rlim_cur == 59 * USEC_PER_SEC);
          assert_se(rl[RLIMIT_RTTIME]->rlim_max == 123 * USEC_PER_SEC);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitRTTIME", RLIMIT_RTTIME, "infinity", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitRTTIME", RLIMIT_RTTIME, "infinity", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_RTTIME]);
          assert_se(rl[RLIMIT_RTTIME]->rlim_cur == RLIM_INFINITY);
          assert_se(rl[RLIMIT_RTTIME]->rlim_cur == rl[RLIMIT_RTTIME]->rlim_max);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitRTTIME", RLIMIT_RTTIME, "infinity:infinity", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitRTTIME", RLIMIT_RTTIME, "infinity:infinity", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_RTTIME]);
          assert_se(rl[RLIMIT_RTTIME]->rlim_cur == RLIM_INFINITY);
          assert_se(rl[RLIMIT_RTTIME]->rlim_cur == rl[RLIMIT_RTTIME]->rlim_max);
  
 -        assert_se(config_parse_limit(NULL, "fake", 1, "section", 1, "LimitRTTIME", RLIMIT_RTTIME, "2345ms", rl, NULL) >= 0);
 +        assert_se(config_parse_rlimit(NULL, "fake", 1, "section", 1, "LimitRTTIME", RLIMIT_RTTIME, "2345ms", rl, NULL) >= 0);
          assert_se(rl[RLIMIT_RTTIME]);
          assert_se(rl[RLIMIT_RTTIME]->rlim_cur == 2345 * USEC_PER_MSEC);
          assert_se(rl[RLIMIT_RTTIME]->rlim_cur == rl[RLIMIT_RTTIME]->rlim_max);