tree 8fa0c37390c3ed9a5b181c8262c0420d31bceca2
parent a88bc520a08d574b5b5363e56d6a5b4d106b77bc
author Brian Osman <brianosman@google.com> 1650380148 -0400
committer GitHub <noreply@github.com> 1650380148 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJiXs10CRBK7hj4Ov3rIwAAeCsIAJK6l9OG9sx8LiTahTnu9Na4
 SS9MiQn2TblTGaUmWDcAX6bfqpig67rm9P3rvnW1WCsiUnjYEVCbfSPuuYw0rJ4a
 glYBKQ1qn1uzHO5uaJaXi/x8jlqJGAL4zZyKusaT3iQhnep+exouj5T6lDO/fc5z
 QhXomGyGXjT0HHO1KEZiC6olXTUkJVZQO+t3b5YHLimwlrsd0qOPtuiTtL3UdU7c
 voVbWU7ghg1Zut34WaxKSHwEMxeOss0luxzENNYxtpCiTmE/gV2zWgnAVfgeR8wX
 McWMY36cxwlQvl/d9PYi5fZnc+ScC0+iPxTf76wsI8CExTWsbnDW/sUzbn4GC2I=
 =/xhu
 -----END PGP SIGNATURE-----
 

Fix return type of GetAllocationNextPtr

Returning `void* const` doesn't mean anything (produces a warning with -Wignored-qualifiers). Based on usage, it looks like the returned pointer is expected to point at const data, so I've fixed the declaration to reflect that.