coccinelle: automatically switch some uses of memcpy() → mempcpy()

Inspired by #22520, let's add a coccinelle script that converts this
automatically.
This commit is contained in:
Lennart Poettering 2022-02-16 10:52:51 +01:00
parent bde335f21f
commit 96ca229517
3 changed files with 18 additions and 9 deletions

13
coccinelle/mempcpy.cocci Normal file
View file

@ -0,0 +1,13 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
@@
expression x, y, z;
@@
- memcpy(x, y, z);
- x += z;
+ x = mempcpy(x, y, z);
@@
expression x, y, z;
@@
- memcpy_safe(x, y, z);
- x += z;
+ x = mempcpy_safe(x, y, z);

View file

@ -683,8 +683,7 @@ static int base64_append_width(
s += indent;
}
memcpy(s, x + width * line, act);
s += act;
s = mempcpy(s, x + width * line, act);
*(s++) = line < lines - 1 ? '\n' : '\0';
avail -= act;
}

View file

@ -125,15 +125,12 @@ static char *combine_entries(const char *one, const char *two) {
/* Body from @one */
n = l1 - (b1 - one);
if (n > 0) {
memcpy(p, b1, n);
p += n;
if (n > 0)
p = mempcpy(p, b1, n);
/* Body from @two */
} else {
else {
n = l2 - (b2 - two);
memcpy(p, b2, n);
p += n;
p = mempcpy(p, b2, n);
}
assert(p - dest <= (ptrdiff_t)(l1 + l2));