From: Philippe Mathieu-Daudé <phi...@redhat.com>

g_memdup() is insecure and as been deprecated in GLib 2.68.
QEMU provides the safely equivalent g_memdup2() wrapper.

Do not allow more g_memdup() calls in the repository, provide
a hint to use g_memdup2().

Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com>
Reviewed-by: Eric Blake <ebl...@redhat.com>
Message-Id: <20210903174510.751630-29-phi...@redhat.com>
Signed-off-by: Laurent Vivier <laur...@vivier.eu>
---
 scripts/checkpatch.pl | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index cb8eff233e06..5caa739db486 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2850,6 +2850,11 @@ sub process {
                        WARN("consider using g_path_get_$1() in preference to 
g_strdup($1())\n" . $herecurr);
                }
 
+# enforce g_memdup2() over g_memdup()
+               if ($line =~ /\bg_memdup\s*\(/) {
+                       ERROR("use g_memdup2() instead of unsafe g_memdup()\n" 
. $herecurr);
+               }
+
 # recommend qemu_strto* over strto* for numeric conversions
                if ($line =~ /\b(strto[^kd].*?)\s*\(/) {
                        ERROR("consider using qemu_$1 in preference to $1\n" . 
$herecurr);
-- 
2.33.1


Reply via email to