0

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
Shinu S
  • 47
  • 5

0 Answers0