I am trying to read a RSA key file into a buffer with the code below
char* readkeyBuffer(){
char *buffer;
long length;
FILE *f;
f= fopen ("file.p12", "rb");
if (f)
{
fseek (f, 0, SEEK_END);
length = ftell (f);
rewind(f);
//fseek (f, 0, SEEK_SET);
buffer = (char *) malloc (sizeof(char) * (length +1 ));
lr_message("Length = %d",length);
lr_message("sizeof Buffer = %d",sizeof(buffer));
if (buffer)
{
fread (buffer, 1, length, f);
//strcat(buffer,'\0');
}
lr_message("sizeof Buffer = %d",sizeof(buffer));
lr_message("buffer len = %d",strlen(buffer));
//lr_message("%s",buffer);
fclose (f);
}
return buffer;
}
The file size is 4476 , but somehow the file being read into the buffer has only 59 chars. Can you please suggest what is the issue?
Output ---
Length = 4476
sizeof Buffer = 4
sizeof Buffer = 4
buffer len = 59