diff --git a/lib/gnutls_session.c b/lib/gnutls_session.c
index 8028d5a..418a2ba 100644 (file)
--- a/lib/gnutls_session.c
+++ b/lib/gnutls_session.c
@@ -63,13 +63,13 @@ gnutls_session_get_data (gnutls_session_t session,
       gnutls_assert ();
       return ret;
     }
-  *session_data_size = psession.size;
 
   if (psession.size > *session_data_size)
     {
+      *session_data_size = psession.size;
       ret = GNUTLS_E_SHORT_MEMORY_BUFFER;
       goto error;
     }
+  *session_data_size = psession.size;
 
   if (session_data != NULL)
     memcpy (session_data, psession.data, psession.size);