Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: bbd7a0f1cf646fc911637b994423f74001e7e69c
      
https://github.com/Perl/perl5/commit/bbd7a0f1cf646fc911637b994423f74001e7e69c
  Author: Lukas Mai <[email protected]>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M doio.c

  Log Message:
  -----------
  doio: fix shmio args assert

PERL_ARGS_ASSERT_DO_SHMIO is equivalent to `assert(mark); assert(sp)`.
There is no point in checking pointers that have already been
dereferenced by previous statements. An optimizing compiler will simply
remove those asserts as no-ops.

Move the asserts up to before any of the function arguments are used.


  Commit: 264e158194d8a4c489ee3399b1d4caf6e858818a
      
https://github.com/Perl/perl5/commit/264e158194d8a4c489ee3399b1d4caf6e858818a
  Author: Lukas Mai <[email protected]>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M doio.c

  Log Message:
  -----------
  doio: make do_shmio() work with args beyond I32

- Extend mpos/msize to the full size_t/STRLEN range (whatever that is on
  the current platform).
- Fully validate the range of all incoming values, including making sure
  that mpos+misze does not overflow (I think you used to be able to
  crash perl with this before).
- Assert that the optype is either OP_SHMREAD or OP_SHMWRITE (because the
  code blindly performs a shmwrite() if optype is not OP_SHMREAD).
- Switch to Perl_croak_nocontext because why not.

Fixes #22895.


  Commit: 7fbd6b3f87b353bb1839b955c98f9e8fa141c0f7
      
https://github.com/Perl/perl5/commit/7fbd6b3f87b353bb1839b955c98f9e8fa141c0f7
  Author: Lukas Mai <[email protected]>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M t/io/shm.t

  Log Message:
  -----------
  t/io/shm.t: test shmwrite beyond the 2GB mark

Guard tests behind PERL_TEST_MEMORY because we're allocating a 2GB
shared mem segment and a 2GB scalar buffer. These tests used to fail (or
crash) before the do_shmio() I32 fixes.

Also fix the error message if the initial shmget fails
("IPC::SharedMem->new" was a copy/paste oversight from when these tests
were copied in from IPC::SysV in 2d5385e000).

Also test that shmwrite() from a tied buffer only calls FETCH once while
we're at it.


  Commit: cb62cc5ebe217d9ff52663c145e1281598fea68d
      
https://github.com/Perl/perl5/commit/cb62cc5ebe217d9ff52663c145e1281598fea68d
  Author: Lukas Mai <[email protected]>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M pod/perldelta.pod

  Log Message:
  -----------
  perldelta for the shmread/shmwrite 31-bit fixes


Compare: https://github.com/Perl/perl5/compare/61bacb933d4c...cb62cc5ebe21

To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications

Reply via email to