SELinux Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH 1/2] libsemanage/tests: return when str is NULL
@ 2019-09-30 20:22 Nicolas Iooss
  2019-09-30 20:22 ` [PATCH 2/2] libsemanage/tests: check that string pointers are not NULL before comparing them Nicolas Iooss
  0 siblings, 1 reply; 3+ messages in thread
From: Nicolas Iooss @ 2019-09-30 20:22 UTC (permalink / raw)
  To: selinux

CU_FAIL() does not stop the execution flow.

This issue has been found using Infer static analyzer.

Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
---
 libsemanage/tests/test_utilities.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libsemanage/tests/test_utilities.c b/libsemanage/tests/test_utilities.c
index ba995b5ae094..fa3a077f5e92 100644
--- a/libsemanage/tests/test_utilities.c
+++ b/libsemanage/tests/test_utilities.c
@@ -142,6 +142,7 @@ void test_semanage_split_on_space(void)
 	if (!str) {
 		CU_FAIL
 		    ("semanage_split_on_space: unable to perform test, no memory");
+		return;
 	}
 	temp = semanage_split_on_space(str);
 	CU_ASSERT_STRING_EQUAL(temp, "bar    baz");
-- 
2.22.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 2/2] libsemanage/tests: check that string pointers are not NULL before comparing them
  2019-09-30 20:22 [PATCH 1/2] libsemanage/tests: return when str is NULL Nicolas Iooss
@ 2019-09-30 20:22 ` Nicolas Iooss
  2019-10-01 19:02   ` Stephen Smalley
  0 siblings, 1 reply; 3+ messages in thread
From: Nicolas Iooss @ 2019-09-30 20:22 UTC (permalink / raw)
  To: selinux

This silences many issues reported by Infer static analyzer about
possible NULL pointer dereferences.

Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
---
 libsemanage/tests/test_utilities.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/libsemanage/tests/test_utilities.c b/libsemanage/tests/test_utilities.c
index fa3a077f5e92..33609401920c 100644
--- a/libsemanage/tests/test_utilities.c
+++ b/libsemanage/tests/test_utilities.c
@@ -145,16 +145,19 @@ void test_semanage_split_on_space(void)
 		return;
 	}
 	temp = semanage_split_on_space(str);
+	CU_ASSERT_PTR_NOT_NULL_FATAL(temp);
 	CU_ASSERT_STRING_EQUAL(temp, "bar    baz");
 	free(str);
 	str = temp;
 
 	temp = semanage_split_on_space(str);
+	CU_ASSERT_PTR_NOT_NULL_FATAL(temp);
 	CU_ASSERT_STRING_EQUAL(temp, "baz");
 	free(str);
 	str = temp;
 
 	temp = semanage_split_on_space(str);
+	CU_ASSERT_PTR_NOT_NULL_FATAL(temp);
 	CU_ASSERT_STRING_EQUAL(temp, "");
 	free(str);
 	free(temp);
@@ -171,21 +174,25 @@ void test_semanage_split(void)
 		return;
 	}
 	temp = semanage_split(str, NULL);
+	CU_ASSERT_PTR_NOT_NULL_FATAL(temp);
 	CU_ASSERT_STRING_EQUAL(temp, "foo2   foo:bar:");
 	free(str);
 	str = temp;
 
 	temp = semanage_split(str, "");
+	CU_ASSERT_PTR_NOT_NULL_FATAL(temp);
 	CU_ASSERT_STRING_EQUAL(temp, "foo:bar:");
 	free(str);
 	str = temp;
 
 	temp = semanage_split(str, ":");
+	CU_ASSERT_PTR_NOT_NULL_FATAL(temp);
 	CU_ASSERT_STRING_EQUAL(temp, "bar:");
 	free(str);
 	str = temp;
 
 	temp = semanage_split(str, ":");
+	CU_ASSERT_PTR_NOT_NULL_FATAL(temp);
 	CU_ASSERT_STRING_EQUAL(temp, "");
 	free(str);
 	free(temp);
@@ -301,14 +308,17 @@ void test_semanage_findval(void)
 		CU_FAIL_FATAL("Temporary file was not created, aborting test.");
 	}
 	tok = semanage_findval(fname, "one", NULL);
+	CU_ASSERT_PTR_NOT_NULL_FATAL(tok);
 	CU_ASSERT_STRING_EQUAL(tok, "");
 	free(tok);
 	rewind(fptr);
 	tok = semanage_findval(fname, "one", "");
+	CU_ASSERT_PTR_NOT_NULL_FATAL(tok);
 	CU_ASSERT_STRING_EQUAL(tok, "");
 	free(tok);
 	rewind(fptr);
 	tok = semanage_findval(fname, "sigma", "=");
+	CU_ASSERT_PTR_NOT_NULL_FATAL(tok);
 	CU_ASSERT_STRING_EQUAL(tok, "foo");
 	free(tok);
 }
-- 
2.22.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 2/2] libsemanage/tests: check that string pointers are not NULL before comparing them
  2019-09-30 20:22 ` [PATCH 2/2] libsemanage/tests: check that string pointers are not NULL before comparing them Nicolas Iooss
@ 2019-10-01 19:02   ` Stephen Smalley
  0 siblings, 0 replies; 3+ messages in thread
From: Stephen Smalley @ 2019-10-01 19:02 UTC (permalink / raw)
  To: Nicolas Iooss, selinux

On 9/30/19 4:22 PM, Nicolas Iooss wrote:
> This silences many issues reported by Infer static analyzer about
> possible NULL pointer dereferences.
> 
> Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>

Thanks, both applied.

> ---
>   libsemanage/tests/test_utilities.c | 10 ++++++++++
>   1 file changed, 10 insertions(+)
> 
> diff --git a/libsemanage/tests/test_utilities.c b/libsemanage/tests/test_utilities.c
> index fa3a077f5e92..33609401920c 100644
> --- a/libsemanage/tests/test_utilities.c
> +++ b/libsemanage/tests/test_utilities.c
> @@ -145,16 +145,19 @@ void test_semanage_split_on_space(void)
>   		return;
>   	}
>   	temp = semanage_split_on_space(str);
> +	CU_ASSERT_PTR_NOT_NULL_FATAL(temp);
>   	CU_ASSERT_STRING_EQUAL(temp, "bar    baz");
>   	free(str);
>   	str = temp;
>   
>   	temp = semanage_split_on_space(str);
> +	CU_ASSERT_PTR_NOT_NULL_FATAL(temp);
>   	CU_ASSERT_STRING_EQUAL(temp, "baz");
>   	free(str);
>   	str = temp;
>   
>   	temp = semanage_split_on_space(str);
> +	CU_ASSERT_PTR_NOT_NULL_FATAL(temp);
>   	CU_ASSERT_STRING_EQUAL(temp, "");
>   	free(str);
>   	free(temp);
> @@ -171,21 +174,25 @@ void test_semanage_split(void)
>   		return;
>   	}
>   	temp = semanage_split(str, NULL);
> +	CU_ASSERT_PTR_NOT_NULL_FATAL(temp);
>   	CU_ASSERT_STRING_EQUAL(temp, "foo2   foo:bar:");
>   	free(str);
>   	str = temp;
>   
>   	temp = semanage_split(str, "");
> +	CU_ASSERT_PTR_NOT_NULL_FATAL(temp);
>   	CU_ASSERT_STRING_EQUAL(temp, "foo:bar:");
>   	free(str);
>   	str = temp;
>   
>   	temp = semanage_split(str, ":");
> +	CU_ASSERT_PTR_NOT_NULL_FATAL(temp);
>   	CU_ASSERT_STRING_EQUAL(temp, "bar:");
>   	free(str);
>   	str = temp;
>   
>   	temp = semanage_split(str, ":");
> +	CU_ASSERT_PTR_NOT_NULL_FATAL(temp);
>   	CU_ASSERT_STRING_EQUAL(temp, "");
>   	free(str);
>   	free(temp);
> @@ -301,14 +308,17 @@ void test_semanage_findval(void)
>   		CU_FAIL_FATAL("Temporary file was not created, aborting test.");
>   	}
>   	tok = semanage_findval(fname, "one", NULL);
> +	CU_ASSERT_PTR_NOT_NULL_FATAL(tok);
>   	CU_ASSERT_STRING_EQUAL(tok, "");
>   	free(tok);
>   	rewind(fptr);
>   	tok = semanage_findval(fname, "one", "");
> +	CU_ASSERT_PTR_NOT_NULL_FATAL(tok);
>   	CU_ASSERT_STRING_EQUAL(tok, "");
>   	free(tok);
>   	rewind(fptr);
>   	tok = semanage_findval(fname, "sigma", "=");
> +	CU_ASSERT_PTR_NOT_NULL_FATAL(tok);
>   	CU_ASSERT_STRING_EQUAL(tok, "foo");
>   	free(tok);
>   }
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-30 20:22 [PATCH 1/2] libsemanage/tests: return when str is NULL Nicolas Iooss
2019-09-30 20:22 ` [PATCH 2/2] libsemanage/tests: check that string pointers are not NULL before comparing them Nicolas Iooss
2019-10-01 19:02   ` Stephen Smalley

SELinux Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/selinux/0 selinux/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 selinux selinux/ https://lore.kernel.org/selinux \
		selinux@vger.kernel.org
	public-inbox-index selinux

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.selinux


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git