mirror of
https://github.com/systemd/systemd.git
synced 2025-03-30 10:50:15 +03:00
test-copy: never call alloca() in a loop
That's a total no-no, hence rework this to use malloc()-based memory instead of alloca()-based memory. Also see CODING_STYLE about this.
This commit is contained in:
parent
0e2b2caccd
commit
2397bc4312
@ -104,15 +104,19 @@ static void test_copy_tree(void) {
|
||||
(void) rm_rf(original_dir, REMOVE_ROOT|REMOVE_PHYSICAL);
|
||||
|
||||
STRV_FOREACH(p, files) {
|
||||
char *f = strjoina(original_dir, *p);
|
||||
_cleanup_free_ char *f;
|
||||
|
||||
assert_se(f = strappend(original_dir, *p));
|
||||
|
||||
assert_se(mkdir_parents(f, 0755) >= 0);
|
||||
assert_se(write_string_file(f, "file", WRITE_STRING_FILE_CREATE) == 0);
|
||||
}
|
||||
|
||||
STRV_FOREACH_PAIR(link, p, links) {
|
||||
char *f = strjoina(original_dir, *p);
|
||||
char *l = strjoina(original_dir, *link);
|
||||
_cleanup_free_ char *f, *l;
|
||||
|
||||
assert_se(f = strappend(original_dir, *p));
|
||||
assert_se(l = strappend(original_dir, *link));
|
||||
|
||||
assert_se(mkdir_parents(l, 0755) >= 0);
|
||||
assert_se(symlink(f, l) == 0);
|
||||
@ -124,9 +128,10 @@ static void test_copy_tree(void) {
|
||||
assert_se(copy_tree(original_dir, copy_dir, true) == 0);
|
||||
|
||||
STRV_FOREACH(p, files) {
|
||||
_cleanup_free_ char *buf = NULL;
|
||||
_cleanup_free_ char *buf = NULL, *f;
|
||||
size_t sz = 0;
|
||||
char *f = strjoina(copy_dir, *p);
|
||||
|
||||
assert_se(f = strappend(copy_dir, *p));
|
||||
|
||||
assert_se(access(f, F_OK) == 0);
|
||||
assert_se(read_full_file(f, &buf, &sz) == 0);
|
||||
@ -134,9 +139,10 @@ static void test_copy_tree(void) {
|
||||
}
|
||||
|
||||
STRV_FOREACH_PAIR(link, p, links) {
|
||||
_cleanup_free_ char *target = NULL;
|
||||
char *f = strjoina(original_dir, *p);
|
||||
char *l = strjoina(copy_dir, *link);
|
||||
_cleanup_free_ char *target = NULL, *f, *l;
|
||||
|
||||
assert_se(f = strjoin(original_dir, *p, NULL));
|
||||
assert_se(l = strjoin(copy_dir, *link, NULL));
|
||||
|
||||
assert_se(readlink_and_canonicalize(l, &target) == 0);
|
||||
assert_se(path_equal(f, target));
|
||||
|
Loading…
x
Reference in New Issue
Block a user