Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-8]: src/external/bsd/top/dist/machine Pull up following revision(...
details: https://anonhg.NetBSD.org/src/rev/dcfcc1bfdd12
branches: netbsd-8
changeset: 435048:dcfcc1bfdd12
user: martin <martin%NetBSD.org@localhost>
date: Sat Jun 09 15:40:05 2018 +0000
description:
Pull up following revision(s) (requested by kamil in ticket #872):
external/bsd/top/dist/machine/m_netbsd.c: revision 1.20
Fix read of unitialized array elements in top(1)
The cp_old array is allocated with malloc(3) and its pointer is passed to=
percentages64().
In this function there happens a calculation of total_change, which value=
depends on the value inside the unitialized cp_old[] array.
WARNING: MemorySanitizer: use-of-uninitialized-value
/usr/src/external/bsd/top/bin/../dist/machine/m_netbsd.c:1341:6
/usr/src/external/bsd/top/bin/../dist/machine/m_netbsd.c:478:65
SUMMARY: MemorySanitizer: use-of-uninitialized-value
/usr/src/external/bsd/top/bin/../dist/machine/m_netbsd.c:1341:6 in percentages64
Exiting
Fix this issue by changling malloc(3) with calloc(3).
Detected with Memory Sanitizer during the integration of sanitizers with
the NetBSD basesystem.
Reported by <Yang Zheng>
diffstat:
external/bsd/top/dist/machine/m_netbsd.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diffs (33 lines):
diff -r ec27ba45f247 -r dcfcc1bfdd12 external/bsd/top/dist/machine/m_netbsd.c
--- a/external/bsd/top/dist/machine/m_netbsd.c Sat Jun 09 15:37:57 2018 +0000
+++ b/external/bsd/top/dist/machine/m_netbsd.c Sat Jun 09 15:40:05 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: m_netbsd.c,v 1.19 2016/12/26 12:46:31 leot Exp $ */
+/* $NetBSD: m_netbsd.c,v 1.19.6.1 2018/06/09 15:40:05 martin Exp $ */
/*
* top - a top users display for Unix
@@ -37,12 +37,12 @@
* Andrew Doran <ad%NetBSD.org@localhost>
*
*
- * $Id: m_netbsd.c,v 1.19 2016/12/26 12:46:31 leot Exp $
+ * $Id: m_netbsd.c,v 1.19.6.1 2018/06/09 15:40:05 martin Exp $
*/
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: m_netbsd.c,v 1.19 2016/12/26 12:46:31 leot Exp $");
+__RCSID("$NetBSD: m_netbsd.c,v 1.19.6.1 2018/06/09 15:40:05 martin Exp $");
#endif
#include <sys/param.h>
@@ -335,7 +335,7 @@
ncpu = 1;
cpu_states = malloc(sizeof(cpu_states[0]) * CPUSTATES * ncpu);
- cp_old = malloc(sizeof(cp_old[0]) * CPUSTATES * ncpu);
+ cp_old = calloc(CPUSTATES * ncpu, sizeof(cp_old[0]));
cp_diff = malloc(sizeof(cp_diff[0]) * CPUSTATES * ncpu);
if (cpu_states == NULL || cp_time == NULL || cp_old == NULL ||
cp_diff == NULL) {
Home |
Main Index |
Thread Index |
Old Index