2014-09-08 18:35 GMT+02:00 Kyle Hamilton <[email protected]>: > The allocated buffer needs to be sizeof(char *). What's happening is the > address of the buffer (&buffer[0]) gets written to the > pointer-to-pointer-to-char, data. If data == NULL, you're asking to write > the address of the buffer to unallocated memory. > > It's done this way because the return value of the function is the number of > valid bytes you can read from that location, and the address must go > somewhere for you to get the data from it. > > I'm sorry this is probably difficult to understand, I don't know if I can > explain it more easily.
It's clear. And my error was terrible, I was creating a char** data instead of char* data. The following updated code does work: ------------------------------------- long read; char* data = NULL; read = BIO_get_mem_data(bio, &data); // Use data and read values. ------------------------------------- Thanks a lot. -- Iñaki Baz Castillo <[email protected]> ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [email protected] Automated List Manager [email protected]
