File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / sudo / common / zero_bytes.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Jul 22 10:46:11 2013 UTC (10 years, 11 months ago) by misho
Branches: sudo, MAIN
CVS tags: v1_8_7p0, v1_8_7, v1_8_5p1, v1_8_3p2, HEAD
1.8.7

    1: /*
    2:  * Copyright (c) 2003-2005, 2007, 2010
    3:  *	Todd C. Miller <Todd.Miller@courtesan.com>
    4:  *
    5:  * Permission to use, copy, modify, and distribute this software for any
    6:  * purpose with or without fee is hereby granted, provided that the above
    7:  * copyright notice and this permission notice appear in all copies.
    8:  *
    9:  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
   10:  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
   11:  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
   12:  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
   13:  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
   14:  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
   15:  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   16:  */
   17: 
   18: #include <config.h>
   19: 
   20: #include <sys/types.h>
   21: 
   22: #include "missing.h"
   23: 
   24: /*
   25:  * Like bzero(3) but with a volatile pointer.  The hope is that
   26:  * the compiler will not be able to optimize away this function.
   27:  */
   28: void
   29: zero_bytes(volatile void *v, size_t n)
   30: {
   31:     volatile char *p, *ep;
   32: 
   33:     for (p = v, ep = p + n; p < ep; p++)
   34: 	*p = 0;
   35:     return;
   36: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>