[PATCH] Coverity fixes

Volker Lendecke Volker.Lendecke at SerNet.DE
Thu Mar 5 03:22:38 MST 2015


Hi!

Review&push appreciated.

Thanks,

Volker

-- 
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt at sernet.de
-------------- next part --------------
From b5822b61d5dd94d6fe8470288a63847da080f723 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Thu, 5 Mar 2015 11:07:56 +0100
Subject: [PATCH 1/4] perfcount: Fix CID 1274043 Division or modulo by zero

Signed-off-by: Volker Lendecke <vl at samba.org>
---
 source3/modules/perfcount_test.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/source3/modules/perfcount_test.c b/source3/modules/perfcount_test.c
index c0b5336..9ff2d36 100644
--- a/source3/modules/perfcount_test.c
+++ b/source3/modules/perfcount_test.c
@@ -172,6 +172,10 @@ static void perfcount_test_dump_counters(void)
 	count_mod = lp_parm_int(0, PARM_PC_TEST_TYPE, PARM_DUMPON_COUNT,
 	    PARM_DUMPON_COUNT_DEFAULT);
 
+	if (count_mod == 0) {
+		return;
+	}
+
 	if ((count++ % count_mod) != 0)
 		return;
 
-- 
1.9.1


From 6a92e6d886ef32eeaa0c484532a338f329330ed9 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Thu, 5 Mar 2015 11:10:35 +0100
Subject: [PATCH 2/4] perfcount: Fix CID 1035492 Out-of-bounds read

Signed-off-by: Volker Lendecke <vl at samba.org>
---
 source3/modules/perfcount_test.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source3/modules/perfcount_test.c b/source3/modules/perfcount_test.c
index 9ff2d36..c4f7c2e 100644
--- a/source3/modules/perfcount_test.c
+++ b/source3/modules/perfcount_test.c
@@ -69,7 +69,7 @@ static void perfcount_test_add_counters(struct perfcount_test_context *ctxt)
 
 		found = false;
 
-		if (ptc->op > MAX_OP)
+		if (ptc->op >= MAX_OP)
 			continue;
 
 		for (head = g_list[ptc->op]; head != NULL; head = head->next) {
-- 
1.9.1


From 8b529d03b5984310ae8bba51f65c977fa9e5c34f Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Thu, 5 Mar 2015 11:11:59 +0100
Subject: [PATCH 3/4] perfcount: Fix CID 1035493 Out-of-bounds read

Signed-off-by: Volker Lendecke <vl at samba.org>
---
 source3/modules/perfcount_test.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source3/modules/perfcount_test.c b/source3/modules/perfcount_test.c
index c4f7c2e..86d44ef 100644
--- a/source3/modules/perfcount_test.c
+++ b/source3/modules/perfcount_test.c
@@ -132,7 +132,7 @@ static const char *smb_subop_name(int op, int subop)
 {
 	/* trans */
 	if (op == 0x25) {
-		if (subop > sizeof(trans_subop_table) /
+		if (subop >= sizeof(trans_subop_table) /
 		    sizeof(trans_subop_table[0])) {
 			return "unknown";
 		}
-- 
1.9.1


From 30b91add74a8d141c83a96af6805c5448d446696 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Thu, 5 Mar 2015 11:12:38 +0100
Subject: [PATCH 4/4] perfcount: Fix CID 1035494 Out-of-bounds read

Signed-off-by: Volker Lendecke <vl at samba.org>
---
 source3/modules/perfcount_test.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source3/modules/perfcount_test.c b/source3/modules/perfcount_test.c
index 86d44ef..0dc073c 100644
--- a/source3/modules/perfcount_test.c
+++ b/source3/modules/perfcount_test.c
@@ -138,7 +138,7 @@ static const char *smb_subop_name(int op, int subop)
 		}
 		return trans_subop_table[subop];
 	} else if (op == 0x32) {
-		if (subop > sizeof(trans2_subop_table) /
+		if (subop >= sizeof(trans2_subop_table) /
 		    sizeof(trans2_subop_table[0])) {
 			return "unknown";
 		}
-- 
1.9.1



More information about the samba-technical mailing list