Hi, > The 2nd parameter to fread() namely "size" specifies the size, in > bytes of each element to be read, and the 3rd parameter namely "count" > specifies the number of elements, each one with a size of "size" bytes. > size_t fread ( void * ptr, size_t size, size_t count, FILE * stream ); > But in the function file2bin() the values passed to "size" and "count" > are reversed causing the function to return an error eventhough the file > was sucdessfully read. > Pass the right values to "size" and "count" parameters for fread() in > the function file2bin(). > Signed-off-by: Lakshmi Ramasubramanian <nramas@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Petr Vorel <pvorel@xxxxxxx> LGTM. Kind regards, Petr > --- > src/evmctl.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > diff --git a/src/evmctl.c b/src/evmctl.c > index 7ad1150..d49988e 100644 > --- a/src/evmctl.c > +++ b/src/evmctl.c > @@ -221,7 +221,8 @@ static unsigned char *file2bin(const char *file, const char *ext, int *size) > fclose(fp); > return NULL; > } > - if (fread(data, len, 1, fp) != len) { > + > + if (fread(data, 1, len, fp) != len) { > log_err("Failed to fread %zu bytes: %s\n", len, name); > fclose(fp); > free(data);