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

Fix misuse of st_mode field in struct stat.
This commit is contained in:
Dr. Stephen Henson 2009-06-02 11:31:32 +00:00
parent d1e107702b
commit 7457642b8c
2 changed files with 6 additions and 6 deletions

View File

@ -858,8 +858,8 @@ bad:
perror(outdir); perror(outdir);
goto err; goto err;
} }
#ifdef S_IFDIR #ifdef S_ISDIR
if (!(sb.st_mode & S_IFDIR)) if (!S_ISDIR(sb.st_mode))
{ {
BIO_printf(bio_err,"%s need to be a directory\n",outdir); BIO_printf(bio_err,"%s need to be a directory\n",outdir);
perror(outdir); perror(outdir);

View File

@ -127,8 +127,8 @@ int RAND_load_file(const char *file, long bytes)
in=fopen(file,"rb"); in=fopen(file,"rb");
#endif #endif
if (in == NULL) goto err; if (in == NULL) goto err;
#if defined(S_IFBLK) && defined(S_IFCHR) #if defined(S_ISBLK) && defined(S_ISCHR)
if (sb.st_mode & (S_IFBLK | S_IFCHR)) { if (S_ISBLK(sb.st_mode) || S_ISCHR(sb.st_mode)) {
/* this file is a device. we don't want read an infinite number /* 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 * of bytes from a random device, nor do we want to use buffered
* I/O because we will waste system entropy. * I/O because we will waste system entropy.
@ -174,8 +174,8 @@ int RAND_write_file(const char *file)
i=stat(file,&sb); i=stat(file,&sb);
if (i != -1) { if (i != -1) {
#if defined(S_IFBLK) && defined(S_IFCHR) #if defined(S_ISBLK) && defined(S_ISCHR)
if (sb.st_mode & (S_IFBLK | S_IFCHR)) { if (S_ISBLK(sb.st_mode) || S_ISCHR(sb.st_mode)) {
/* this file is a device. we don't write back to it. /* this file is a device. we don't write back to it.
* we "succeed" on the assumption this is some sort * we "succeed" on the assumption this is some sort
* of random device. Otherwise attempting to write to * of random device. Otherwise attempting to write to