Commit cc304d14abf for php.net
commit cc304d14abff9c5f7ca28f48ff127705be5d1921
Author: Gina Peter Banyard <girgias@php.net>
Date: Mon Feb 9 11:16:33 2026 +0000
ext/session: refactor bin_to_readable()
diff --git a/ext/session/session.c b/ext/session/session.c
index 31c525c89e8..cf9ea05fc34 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -305,23 +305,17 @@ static zend_result php_session_decode(const zend_string *data)
static const char hexconvtab[] = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,-";
-static void bin_to_readable(unsigned char *in, size_t inlen, char *out, size_t outlen, char nbits)
+static void bin_to_readable(const unsigned char *in, size_t inlen, char *out, size_t outlen, char nbits)
{
- unsigned char *p, *q;
- unsigned short w;
- int mask;
- int have;
-
- p = (unsigned char *)in;
- q = (unsigned char *)in + inlen;
-
- w = 0;
- have = 0;
- mask = (1 << nbits) - 1;
+ const unsigned char *p = in;
+ const unsigned char *end_p = in + inlen;
+ unsigned short w = 0;
+ int have = 0;
+ const int mask = (1 << nbits) - 1;
while (outlen--) {
if (have < nbits) {
- if (p < q) {
+ if (p < end_p) {
w |= *p++ << have;
have += 8;
} else {