Loading crypto/bio/bss_dgram.c +10 −2 Original line number Original line Diff line number Diff line Loading @@ -1097,7 +1097,12 @@ static int dgram_sctp_free(BIO *a) return 0; return 0; data = (bio_dgram_sctp_data *)a->ptr; data = (bio_dgram_sctp_data *)a->ptr; if(data != NULL) OPENSSL_free(data); if(data != NULL) { if(data->saved_message.data != NULL) OPENSSL_free(data->saved_message.data); OPENSSL_free(data); } return(1); return(1); } } Loading Loading @@ -1214,6 +1219,7 @@ static int dgram_sctp_read(BIO *b, char *out, int outl) dgram_sctp_write(data->saved_message.bio, data->saved_message.data, dgram_sctp_write(data->saved_message.bio, data->saved_message.data, data->saved_message.length); data->saved_message.length); OPENSSL_free(data->saved_message.data); OPENSSL_free(data->saved_message.data); data->saved_message.data = NULL; data->saved_message.length = 0; data->saved_message.length = 0; } } Loading Loading @@ -1385,9 +1391,11 @@ static int dgram_sctp_write(BIO *b, const char *in, int inl) if (data->save_shutdown && !BIO_dgram_sctp_wait_for_dry(b)) if (data->save_shutdown && !BIO_dgram_sctp_wait_for_dry(b)) { { data->saved_message.bio = b; data->saved_message.bio = b; data->saved_message.length = inl; if (data->saved_message.data) OPENSSL_free(data->saved_message.data); data->saved_message.data = OPENSSL_malloc(inl); data->saved_message.data = OPENSSL_malloc(inl); memcpy(data->saved_message.data, in, inl); memcpy(data->saved_message.data, in, inl); data->saved_message.length = inl; return inl; return inl; } } Loading Loading
crypto/bio/bss_dgram.c +10 −2 Original line number Original line Diff line number Diff line Loading @@ -1097,7 +1097,12 @@ static int dgram_sctp_free(BIO *a) return 0; return 0; data = (bio_dgram_sctp_data *)a->ptr; data = (bio_dgram_sctp_data *)a->ptr; if(data != NULL) OPENSSL_free(data); if(data != NULL) { if(data->saved_message.data != NULL) OPENSSL_free(data->saved_message.data); OPENSSL_free(data); } return(1); return(1); } } Loading Loading @@ -1214,6 +1219,7 @@ static int dgram_sctp_read(BIO *b, char *out, int outl) dgram_sctp_write(data->saved_message.bio, data->saved_message.data, dgram_sctp_write(data->saved_message.bio, data->saved_message.data, data->saved_message.length); data->saved_message.length); OPENSSL_free(data->saved_message.data); OPENSSL_free(data->saved_message.data); data->saved_message.data = NULL; data->saved_message.length = 0; data->saved_message.length = 0; } } Loading Loading @@ -1385,9 +1391,11 @@ static int dgram_sctp_write(BIO *b, const char *in, int inl) if (data->save_shutdown && !BIO_dgram_sctp_wait_for_dry(b)) if (data->save_shutdown && !BIO_dgram_sctp_wait_for_dry(b)) { { data->saved_message.bio = b; data->saved_message.bio = b; data->saved_message.length = inl; if (data->saved_message.data) OPENSSL_free(data->saved_message.data); data->saved_message.data = OPENSSL_malloc(inl); data->saved_message.data = OPENSSL_malloc(inl); memcpy(data->saved_message.data, in, inl); memcpy(data->saved_message.data, in, inl); data->saved_message.length = inl; return inl; return inl; } } Loading