Module Name:    src
Committed By:   riastradh
Date:           Wed Aug 28 15:46:23 UTC 2013

Modified Files:
        src/common/lib/libc/string: explicit_memset.c
        src/include: string.h
        src/lib/libc/string: explicit_memset.3

Log Message:
Make explicit_memset match memset's return value.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/common/lib/libc/string/explicit_memset.c
cvs rdiff -u -r1.46 -r1.47 src/include/string.h
cvs rdiff -u -r1.1 -r1.2 src/lib/libc/string/explicit_memset.3

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/common/lib/libc/string/explicit_memset.c
diff -u src/common/lib/libc/string/explicit_memset.c:1.1 src/common/lib/libc/string/explicit_memset.c:1.2
--- src/common/lib/libc/string/explicit_memset.c:1.1	Mon Jun 24 04:21:19 2013
+++ src/common/lib/libc/string/explicit_memset.c	Wed Aug 28 15:46:23 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: explicit_memset.c,v 1.1 2013/06/24 04:21:19 riastradh Exp $ */
+/* $NetBSD: explicit_memset.c,v 1.2 2013/08/28 15:46:23 riastradh Exp $ */
 
 #if !defined(_KERNEL) && !defined(_STANDALONE)
 #include <string.h>
@@ -14,9 +14,9 @@
  */
 void *(* volatile explicit_memset_impl)(void *, int, size_t) = memset;
 
-void
+void *
 explicit_memset(void *b, int c, size_t len)
 {
 
-	(*explicit_memset_impl)(b, c, len);
+	return (*explicit_memset_impl)(b, c, len);
 }

Index: src/include/string.h
diff -u src/include/string.h:1.46 src/include/string.h:1.47
--- src/include/string.h:1.46	Tue Aug 27 18:29:28 2013
+++ src/include/string.h	Wed Aug 28 15:46:23 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: string.h,v 1.46 2013/08/27 18:29:28 joerg Exp $	*/
+/*	$NetBSD: string.h,v 1.47 2013/08/28 15:46:23 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 1990, 1993
@@ -103,7 +103,7 @@ char	*strsep(char **, const char *);
 char	*stresep(char **, const char *, int);
 char	*strndup(const char *, size_t);
 void	*memrchr(const void *, int, size_t);
-void	__explicit_memset(void *, int, size_t);
+void	*__explicit_memset(void *, int, size_t);
 int	__consttime_memequal(const void *, const void *, size_t);
 __END_DECLS
 #endif

Index: src/lib/libc/string/explicit_memset.3
diff -u src/lib/libc/string/explicit_memset.3:1.1 src/lib/libc/string/explicit_memset.3:1.2
--- src/lib/libc/string/explicit_memset.3:1.1	Mon Jun 24 04:21:20 2013
+++ src/lib/libc/string/explicit_memset.3	Wed Aug 28 15:46:23 2013
@@ -1,4 +1,4 @@
-.\"	$NetBSD: explicit_memset.3,v 1.1 2013/06/24 04:21:20 riastradh Exp $
+.\"	$NetBSD: explicit_memset.3,v 1.2 2013/08/28 15:46:23 riastradh Exp $
 .\"
 .\" Copyright (c) 2013 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd June 23, 2013
+.Dd August 28, 2013
 .Dt EXPLICIT_MEMSET 3
 .Os
 .Sh NAME
@@ -37,7 +37,7 @@
 .Lb libc
 .Sh SYNOPSIS
 .In string.h
-.Ft void
+.Ft void *
 .Fn explicit_memset "void *b" "int c" "size_t len"
 .Sh DESCRIPTION
 The
@@ -51,6 +51,11 @@ bytes of value
 It is guaranteed not to be optimized away by the compiler even if
 .Fa b
 is no longer used and is about to be freed or go out of scope.
+.Sh RETURN VALUES
+The
+.Fn explicit_memset
+function returns the original value of
+.Fa b .
 .Sh EXAMPLES
 Create a buffer on the stack for a secret key, use it, and then zero it
 in memory before throwing it away.

Reply via email to