git://git.exim.org
/
exim.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
f88b6b9
)
fix size param for gnutls_dh_params_export_pkcs3() again
author
Phil Pennock
<pdp@exim.org>
Sun, 27 May 2012 00:10:40 +0000
(20:10 -0400)
committer
Phil Pennock
<pdp@exim.org>
Sun, 27 May 2012 00:10:40 +0000
(20:10 -0400)
src/src/tls-gnu.c
patch
|
blob
|
history
diff --git
a/src/src/tls-gnu.c
b/src/src/tls-gnu.c
index b2659d7a794c208f795ab7da15404c6a8978e57f..aa2f92514b79133173c57f4645f225cd687d3733 100644
(file)
--- a/
src/src/tls-gnu.c
+++ b/
src/src/tls-gnu.c
@@
-512,18
+512,15
@@
if (rc < 0)
m.data = malloc(m.size);
if (m.data == NULL)
return tls_error(US"memory allocation failed", strerror(errno), NULL);
m.data = malloc(m.size);
if (m.data == NULL)
return tls_error(US"memory allocation failed", strerror(errno), NULL);
- /* this will return a size 1 less than the allocation size above; I
- originally used sz so as to avoid type compatibility errors, as gnutls_datum
- uses "unsigned int" for the size field, but this call takes separate data
- and size fields, with the latter being a size_t*. For now, we live with
- the error as being safer than throwing away type information. */
+ /* this will return a size 1 less than the allocation size above */
rc = gnutls_dh_params_export_pkcs3(dh_server_params, GNUTLS_X509_FMT_PEM,
rc = gnutls_dh_params_export_pkcs3(dh_server_params, GNUTLS_X509_FMT_PEM,
- m.data, &
m.size
);
+ m.data, &
sz
);
if (rc != GNUTLS_E_SUCCESS)
{
free(m.data);
exim_gnutls_err_check(US"gnutls_dh_params_export_pkcs3() real");
}
if (rc != GNUTLS_E_SUCCESS)
{
free(m.data);
exim_gnutls_err_check(US"gnutls_dh_params_export_pkcs3() real");
}
+ m.size = sz; /* shrink by 1, probably */
sz = write_to_fd_buf(fd, m.data, (size_t) m.size);
if (sz != m.size)
sz = write_to_fd_buf(fd, m.data, (size_t) m.size);
if (sz != m.size)