Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934146AbdDSMvl (ORCPT ); Wed, 19 Apr 2017 08:51:41 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:45473 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1763317AbdDSMvc (ORCPT ); Wed, 19 Apr 2017 08:51:32 -0400 From: "Naveen N. Rao" To: Michael Ellerman , Ingo Molnar Cc: Ananth N Mavinakayanahalli , Masami Hiramatsu , linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 4/7] powerpc: kprobes: use safer string functions in kprobe_lookup_name() Date: Wed, 19 Apr 2017 18:21:03 +0530 X-Mailer: git-send-email 2.12.1 In-Reply-To: References: In-Reply-To: References: X-TM-AS-MML: disable x-cbid: 17041912-0032-0000-0000-000002125B91 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17041912-0033-0000-0000-000012482F33 Message-Id: X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-04-19_10:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1703280000 definitions=main-1704190113 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1574 Lines: 45 Convert usage of strncpy()/strncat() to memcpy()/strlcat() for simpler and safer string manipulation. Reported-by: David Laight Signed-off-by: Naveen N. Rao --- arch/powerpc/kernel/kprobes.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/arch/powerpc/kernel/kprobes.c b/arch/powerpc/kernel/kprobes.c index 97b5eed1f76d..d743bacefa8c 100644 --- a/arch/powerpc/kernel/kprobes.c +++ b/arch/powerpc/kernel/kprobes.c @@ -69,24 +69,23 @@ kprobe_opcode_t *kprobe_lookup_name(const char *name, unsigned int offset) modsym++; if (*modsym != '\0' && *modsym != '.') { /* Convert to */ - strncpy(dot_name, name, modsym - name); + memcpy(dot_name, name, modsym - name); dot_name[modsym - name] = '.'; dot_name[modsym - name + 1] = '\0'; - strncat(dot_name, modsym, - sizeof(dot_name) - (modsym - name) - 2); + strlcat(dot_name, modsym, sizeof(dot_name)); dot_appended = true; } else { dot_name[0] = '\0'; - strncat(dot_name, name, sizeof(dot_name) - 1); + strlcat(dot_name, name, sizeof(dot_name)); } } else if (name[0] != '.') { dot_name[0] = '.'; dot_name[1] = '\0'; - strncat(dot_name, name, KSYM_NAME_LEN - 2); + strlcat(dot_name, name, sizeof(dot_name)); dot_appended = true; } else { dot_name[0] = '\0'; - strncat(dot_name, name, KSYM_NAME_LEN - 1); + strlcat(dot_name, name, sizeof(dot_name)); } addr = (kprobe_opcode_t *)kallsyms_lookup_name(dot_name); if (!addr && dot_appended) { -- 2.12.1