37 lines
1.2 KiB
Diff
37 lines
1.2 KiB
Diff
|
From 9825fcbab5c4ddd867432f9922bebfbec7b78af0 Mon Sep 17 00:00:00 2001
|
||
|
From: Mark Dufour <m.dufour@kopano.com>
|
||
|
Date: Tue, 14 Feb 2017 10:34:37 +0100
|
||
|
Subject: [PATCH] [Coverity] fix issue reported for SWIG_Python_FixMethods
|
||
|
|
||
|
Fix Coverity issue reported for SWIG_Python_FixMethods:
|
||
|
|
||
|
"buffer_size: Calling strncpy with a source string whose length
|
||
|
(10 chars) is greater than or equal to the size argument (10)
|
||
|
will fail to null-terminate buff."
|
||
|
|
||
|
The issue is only reported for the "swig_ptr: " line, but for
|
||
|
consistency we replace both occurrences of strncpy with memcpy.
|
||
|
---
|
||
|
Lib/python/pyinit.swg | 4 ++--
|
||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/Lib/python/pyinit.swg b/Lib/python/pyinit.swg
|
||
|
index 2cc582841..fe45ac941 100644
|
||
|
--- a/Lib/python/pyinit.swg
|
||
|
+++ b/Lib/python/pyinit.swg
|
||
|
@@ -306,9 +306,9 @@ SWIG_Python_FixMethods(PyMethodDef *methods,
|
||
|
char *ndoc = (char*)malloc(ldoc + lptr + 10);
|
||
|
if (ndoc) {
|
||
|
char *buff = ndoc;
|
||
|
- strncpy(buff, methods[i].ml_doc, ldoc);
|
||
|
+ memcpy(buff, methods[i].ml_doc, ldoc);
|
||
|
buff += ldoc;
|
||
|
- strncpy(buff, "swig_ptr: ", 10);
|
||
|
+ memcpy(buff, "swig_ptr: ", 10);
|
||
|
buff += 10;
|
||
|
SWIG_PackVoidPtr(buff, ptr, ty->name, lptr);
|
||
|
methods[i].ml_doc = ndoc;
|
||
|
--
|
||
|
2.14.3
|
||
|
|