]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
test_pkcs11.c: set file offset to 0 after ftruncate
authorSelva Nair <selva.nair@gmail.com>
Mon, 12 Aug 2024 23:21:58 +0000 (19:21 -0400)
committerGert Doering <gert@greenie.muc.de>
Tue, 13 Aug 2024 06:27:53 +0000 (08:27 +0200)
Currently key and cert file fd's are reused after ftruncate()
without setting the offset to zero. This causes subsequent
data to be written at some finite offset with the hole in
the file automatically filled by zeros. Fix it by calling
lseek() to set the offset to zero.

The test works nevertheless because p11tool seem to generously
ignore any junk before the "BEGIN" marker.

Change-Id: Ib0fe15a4ba18d89216b0288e6cd6be66ed377bd4
Signed-off-by: Selva Nair <selva.nair@gmail.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <20240812232158.3776869-1-selva.nair@gmail.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg29010.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
tests/unit_tests/openvpn/test_pkcs11.c

index 5518fa15d0ab76262ed7239d3707ef796628f0a3..3fe3e460758253612cb92357bc1b6684ad9bfad3 100644 (file)
@@ -273,6 +273,8 @@ init(void **state)
 
         assert_int_equal(ftruncate(cert_fd, 0), 0);
         assert_int_equal(ftruncate(key_fd, 0), 0);
+        assert_int_equal(lseek(cert_fd, 0, SEEK_SET), 0);
+        assert_int_equal(lseek(key_fd, 0, SEEK_SET), 0);
         num_certs++;
     }