@@ -3971,6 +3971,21 @@ def _new_shm_name(self, prefix):
39713971 # test_multiprocessing_spawn, etc) in parallel.
39723972 return prefix + str (os .getpid ())
39733973
3974+ def test_shared_memory_name_with_embedded_null (self ):
3975+ name_tsmb = self ._new_shm_name ('test01_null' )
3976+ sms = shared_memory .SharedMemory (name_tsmb , create = True , size = 512 )
3977+ self .addCleanup (sms .unlink )
3978+ with self .assertRaises (ValueError ):
3979+ shared_memory .SharedMemory (name_tsmb + '\0 a' , create = False , size = 512 )
3980+ if shared_memory ._USE_POSIX :
3981+ orig_name = sms ._name
3982+ try :
3983+ sms ._name = orig_name + '\0 a'
3984+ with self .assertRaises (ValueError ):
3985+ sms .unlink ()
3986+ finally :
3987+ sms ._name = orig_name
3988+
39743989 def test_shared_memory_basics (self ):
39753990 name_tsmb = self ._new_shm_name ('test01_tsmb' )
39763991 sms = shared_memory .SharedMemory (name_tsmb , create = True , size = 512 )
@@ -4105,7 +4120,7 @@ def test_shared_memory_recreate(self):
41054120 self .addCleanup (shm2 .unlink )
41064121 self .assertEqual (shm2 ._name , names [1 ])
41074122
4108- def test_invalid_shared_memory_cration (self ):
4123+ def test_invalid_shared_memory_creation (self ):
41094124 # Test creating a shared memory segment with negative size
41104125 with self .assertRaises (ValueError ):
41114126 sms_invalid = shared_memory .SharedMemory (create = True , size = - 1 )
0 commit comments