1*a17dff0dSRobert Mustacchi /* 2*a17dff0dSRobert Mustacchi * This file and its contents are supplied under the terms of the 3*a17dff0dSRobert Mustacchi * Common Development and Distribution License ("CDDL"), version 1.0. 4*a17dff0dSRobert Mustacchi * You may only use this file in accordance with the terms of version 5*a17dff0dSRobert Mustacchi * 1.0 of the CDDL. 6*a17dff0dSRobert Mustacchi * 7*a17dff0dSRobert Mustacchi * A full copy of the text of the CDDL should have accompanied this 8*a17dff0dSRobert Mustacchi * source. A copy of the CDDL is also available via the Internet at 9*a17dff0dSRobert Mustacchi * http://www.illumos.org/license/CDDL. 10*a17dff0dSRobert Mustacchi */ 11*a17dff0dSRobert Mustacchi 12*a17dff0dSRobert Mustacchi /* 13*a17dff0dSRobert Mustacchi * Copyright 2015 Joyent, Inc. 14*a17dff0dSRobert Mustacchi */ 15*a17dff0dSRobert Mustacchi 16*a17dff0dSRobert Mustacchi /* 17*a17dff0dSRobert Mustacchi * Regression test for illumos#5843. 18*a17dff0dSRobert Mustacchi */ 19*a17dff0dSRobert Mustacchi 20*a17dff0dSRobert Mustacchi #include <string.h> 21*a17dff0dSRobert Mustacchi #include <stdlib.h> 22*a17dff0dSRobert Mustacchi #include <sys/random.h> 23*a17dff0dSRobert Mustacchi 24*a17dff0dSRobert Mustacchi #define NTRIES 5 25*a17dff0dSRobert Mustacchi #define NOFF 128 26*a17dff0dSRobert Mustacchi #define NBYTES 223 27*a17dff0dSRobert Mustacchi 28*a17dff0dSRobert Mustacchi int main(void)29*a17dff0dSRobert Mustacchimain(void) 30*a17dff0dSRobert Mustacchi { 31*a17dff0dSRobert Mustacchi int i; 32*a17dff0dSRobert Mustacchi char buf[1024]; 33*a17dff0dSRobert Mustacchi 34*a17dff0dSRobert Mustacchi (void) memset(buf, 'a', sizeof (buf)); 35*a17dff0dSRobert Mustacchi 36*a17dff0dSRobert Mustacchi /* 37*a17dff0dSRobert Mustacchi * Try to go ahead and corrupt ourselves NTRIES times. 38*a17dff0dSRobert Mustacchi */ 39*a17dff0dSRobert Mustacchi for (i = 0; i < NTRIES; i++) { 40*a17dff0dSRobert Mustacchi (void) getrandom(buf + NOFF, NBYTES, 0); 41*a17dff0dSRobert Mustacchi } 42*a17dff0dSRobert Mustacchi 43*a17dff0dSRobert Mustacchi for (i = 0; i < NOFF; i++) { 44*a17dff0dSRobert Mustacchi if (buf[i] != 'a') 45*a17dff0dSRobert Mustacchi abort(); 46*a17dff0dSRobert Mustacchi } 47*a17dff0dSRobert Mustacchi 48*a17dff0dSRobert Mustacchi for (i = NBYTES + NOFF; i < sizeof (buf); i++) { 49*a17dff0dSRobert Mustacchi if (buf[i] != 'a') 50*a17dff0dSRobert Mustacchi abort(); 51*a17dff0dSRobert Mustacchi } 52*a17dff0dSRobert Mustacchi 53*a17dff0dSRobert Mustacchi return (0); 54*a17dff0dSRobert Mustacchi } 55