summaryrefslogtreecommitdiff
path: root/lib/gnutls_dh_primes.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gnutls_dh_primes.c')
-rw-r--r--lib/gnutls_dh_primes.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/lib/gnutls_dh_primes.c b/lib/gnutls_dh_primes.c
index 8abab8f873..720d2ee7d2 100644
--- a/lib/gnutls_dh_primes.c
+++ b/lib/gnutls_dh_primes.c
@@ -547,21 +547,19 @@ gnutls_dh_params_export_pkcs3 (gnutls_dh_params_t params,
return GNUTLS_E_INTERNAL_ERROR;
}
- if ((unsigned) result + 1 > *params_data_size)
+ if ((unsigned) result > *params_data_size)
{
gnutls_assert ();
gnutls_free (out);
- *params_data_size = result + 1;
+ *params_data_size = result;
return GNUTLS_E_SHORT_MEMORY_BUFFER;
}
- *params_data_size = result;
+ *params_data_size = result - 1;
if (params_data)
- {
- memcpy (params_data, out, result);
- params_data[result] = 0;
- }
+ memcpy (params_data, out, result);
+
gnutls_free (out);
}