diff --git a/tests/suites/test_suite_ecp.function b/tests/suites/test_suite_ecp.function
index 64e0147..a051bd7 100644
--- a/tests/suites/test_suite_ecp.function
+++ b/tests/suites/test_suite_ecp.function
@@ -301,6 +301,7 @@
     mpi X, Y, Z;
     size_t ilen;
     unsigned char buf[256];
+    const unsigned char *vbuf = buf;
 
     memset( buf, 0, sizeof( buf ) );
 
@@ -315,13 +316,14 @@
 
     ilen = unhexify( buf, {input} );
 
-    TEST_ASSERT( ecp_tls_read_point( &grp, &P, buf, ilen ) == {ret} );
+    TEST_ASSERT( ecp_tls_read_point( &grp, &P, &vbuf, ilen ) == {ret} );
 
     if( {ret} == 0 )
     {
         TEST_ASSERT( mpi_cmp_mpi( &P.X, &X ) == 0 );
         TEST_ASSERT( mpi_cmp_mpi( &P.Y, &Y ) == 0 );
         TEST_ASSERT( mpi_cmp_mpi( &P.Z, &Z ) == 0 );
+        TEST_ASSERT( *vbuf == 0x00 );
     }
 
     ecp_group_free( &grp ); ecp_point_free( &P );
@@ -335,37 +337,45 @@
     ecp_group grp;
     ecp_point pt;
     unsigned char buf[256];
+    const unsigned char *vbuf;
     size_t olen;
 
     ecp_group_init( &grp );
     ecp_point_init( &pt );
-    memset( buf, 0x00, sizeof( buf ) );
 
     TEST_ASSERT( ecp_use_known_dp( &grp, POLARSSL_ECP_DP_{id} ) == 0 );
 
+    memset( buf, 0x00, sizeof( buf ) ); vbuf = buf;
     TEST_ASSERT( ecp_tls_write_point( &grp, &grp.G,
                     POLARSSL_ECP_PF_COMPRESSED, &olen, buf, 256 ) == 0 );
-    TEST_ASSERT( ecp_tls_read_point( &grp, &pt, buf, olen )
+    TEST_ASSERT( ecp_tls_read_point( &grp, &pt, &vbuf, olen )
                  == POLARSSL_ERR_ECP_BAD_INPUT_DATA );
+    TEST_ASSERT( vbuf == buf + olen );
 
+    memset( buf, 0x00, sizeof( buf ) ); vbuf = buf;
     TEST_ASSERT( ecp_tls_write_point( &grp, &grp.G,
                     POLARSSL_ECP_PF_UNCOMPRESSED, &olen, buf, 256 ) == 0 );
-    TEST_ASSERT( ecp_tls_read_point( &grp, &pt, buf, olen ) == 0 );
+    TEST_ASSERT( ecp_tls_read_point( &grp, &pt, &vbuf, olen ) == 0 );
     TEST_ASSERT( mpi_cmp_mpi( &grp.G.X, &pt.X ) == 0 );
     TEST_ASSERT( mpi_cmp_mpi( &grp.G.Y, &pt.Y ) == 0 );
     TEST_ASSERT( mpi_cmp_mpi( &grp.G.Z, &pt.Z ) == 0 );
+    TEST_ASSERT( vbuf == buf + olen );
 
+    memset( buf, 0x00, sizeof( buf ) ); vbuf = buf;
     TEST_ASSERT( ecp_set_zero( &pt ) == 0 );
     TEST_ASSERT( ecp_tls_write_point( &grp, &pt,
                     POLARSSL_ECP_PF_COMPRESSED, &olen, buf, 256 ) == 0 );
-    TEST_ASSERT( ecp_tls_read_point( &grp, &pt, buf, olen ) == 0 );
+    TEST_ASSERT( ecp_tls_read_point( &grp, &pt, &vbuf, olen ) == 0 );
     TEST_ASSERT( ecp_is_zero( &pt ) );
+    TEST_ASSERT( vbuf == buf + olen );
 
+    memset( buf, 0x00, sizeof( buf ) ); vbuf = buf;
     TEST_ASSERT( ecp_set_zero( &pt ) == 0 );
     TEST_ASSERT( ecp_tls_write_point( &grp, &pt,
                     POLARSSL_ECP_PF_UNCOMPRESSED, &olen, buf, 256 ) == 0 );
-    TEST_ASSERT( ecp_tls_read_point( &grp, &pt, buf, olen ) == 0 );
+    TEST_ASSERT( ecp_tls_read_point( &grp, &pt, &vbuf, olen ) == 0 );
     TEST_ASSERT( ecp_is_zero( &pt ) );
+    TEST_ASSERT( vbuf == buf + olen );
 
     ecp_group_free( &grp );
     ecp_point_free( &pt );
