Description:

Unserialize of $_SESSION['mygroups'] can return false, causing in_array() failure on line 608 of user.inc.php. Triggered during posting.

Files:

user.inc.php, addpost.inc.php

Repro:

Post in forum with group join conditions with debugging enabled.

Code section:

Problem line (user.inc.php ~608):
PHPif ($count >= $posts && (!in_array($gid, $mygroups))) {
Before (ensure array):
PHP$mygroups = unserialize($_SESSION['mygroups'] ?? '');
if (!is_array($mygroups)) {
$mygroups = [];
}

Fix suggestion:

Ensure $mygroups is always array after unserialize.

Version:

UBBThreads 8.0


The Stovebolt Geek
https://www.stovebolt.com/ubbthreads/ubbthreads.php

Server Information
UBB.threads Version 8.0.0
Release 20240826
Server OS Linux
Server Load 0.11
Web Server Apache/2.4.37
PHP Version 8.3.11
MYSQL Version 8.0.39
Database Size 1.82 GB