mirror of
https://github.com/openssl/openssl.git
synced 2024-12-15 06:01:37 +08:00
RAND_write_file(): Avoid potential file descriptor leak
If fdopen() call fails we need to close the fd. Also return early as this is most likely some fatal error. Fixes #25064 Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/25081)
This commit is contained in:
parent
4c37778a4e
commit
d604834439
@ -208,8 +208,16 @@ int RAND_write_file(const char *file)
|
||||
* should be restrictive from the start
|
||||
*/
|
||||
int fd = open(file, O_WRONLY | O_CREAT | O_BINARY, 0600);
|
||||
if (fd != -1)
|
||||
|
||||
if (fd != -1) {
|
||||
out = fdopen(fd, "wb");
|
||||
if (out == NULL) {
|
||||
close(fd);
|
||||
ERR_raise_data(ERR_LIB_RAND, RAND_R_CANNOT_OPEN_FILE,
|
||||
"Filename=%s", file);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user