From d11b5487dfdfdbf18cdd4b00bac9f09f9a59538b Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Tue, 2 Aug 2016 14:33:59 +1000 Subject: [PATCH] Check filesize read in rsa authentication plugin Avoids compile error: sql_acl.cc: In member function 'bool Rsa_authentication_keys::read_key_file(RSA**, bool, char**)': sql_acl.cc:11688:62: error: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result [-Werror=unused-result] (void) fread(*key_text_buffer, filesize, 1, key_file); --- sql/sql_acl.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index 27c3a02..f403e86 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -11659,12 +11659,19 @@ class Rsa_authentication_keys /* For public key, read key file content into a char buffer. */ if (!is_priv_key) { - int filesize; + int filesize, filesize_read; fseek(key_file, 0, SEEK_END); filesize= ftell(key_file); fseek(key_file, 0, SEEK_SET); *key_text_buffer= new char[filesize+1]; - (void) fread(*key_text_buffer, filesize, 1, key_file); + filesize_read= fread(*key_text_buffer, 1, filesize, key_file); + if (filesize_read != filesize) + { + sql_print_error("Failure to %d bytes from file, only %d bytes read:", + filesize, filesize_read); + fclose(key_file); + return true; + } (*key_text_buffer)[filesize]= '\0'; } fclose(key_file);