Commit 7457642b authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

PR: 1937

Submitted by: Mark Phalan <Mark.Phalan@Sun.COM>
Reviewed by: steve@openssl.org

Fix misuse of st_mode field in struct stat.
parent d1e10770
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -858,8 +858,8 @@ bad:
			perror(outdir);
			goto err;
			}
#ifdef S_IFDIR
		if (!(sb.st_mode & S_IFDIR))
#ifdef S_ISDIR
		if (!S_ISDIR(sb.st_mode))
			{
			BIO_printf(bio_err,"%s need to be a directory\n",outdir);
			perror(outdir);
+4 −4
Original line number Diff line number Diff line
@@ -127,8 +127,8 @@ int RAND_load_file(const char *file, long bytes)
	in=fopen(file,"rb");
#endif
	if (in == NULL) goto err;
#if defined(S_IFBLK) && defined(S_IFCHR)
	if (sb.st_mode & (S_IFBLK | S_IFCHR)) {
#if defined(S_ISBLK) && defined(S_ISCHR)
	if (S_ISBLK(sb.st_mode) || S_ISCHR(sb.st_mode)) {
	  /* this file is a device. we don't want read an infinite number
	   * of bytes from a random device, nor do we want to use buffered
	   * I/O because we will waste system entropy. 
@@ -174,8 +174,8 @@ int RAND_write_file(const char *file)
	
	i=stat(file,&sb);
	if (i != -1) { 
#if defined(S_IFBLK) && defined(S_IFCHR)
	  if (sb.st_mode & (S_IFBLK | S_IFCHR)) {
#if defined(S_ISBLK) && defined(S_ISCHR)
	  if (S_ISBLK(sb.st_mode) || S_ISCHR(sb.st_mode)) {
	    /* this file is a device. we don't write back to it. 
	     * we "succeed" on the assumption this is some sort 
	     * of random device. Otherwise attempting to write to