diff options
author | Brent Shaffer <betterbrent@google.com> | 2019-10-02 16:44:58 -0700 |
---|---|---|
committer | Joe Watkins <krakjoe@php.net> | 2019-10-04 06:12:02 +0200 |
commit | a6d219630c4128a124f3d9a2e7ca97afb92d5d47 (patch) | |
tree | c5f56688b1e13729d8f97186d98a4a93becce7b9 /ext/session/mod_user.c | |
parent | 9a2b42a5c1144e6a50c742d6a6d2007828830b24 (diff) | |
download | php-git-a6d219630c4128a124f3d9a2e7ca97afb92d5d47.tar.gz |
fix #78624: session_gc return value for user defined session handlers
Diffstat (limited to 'ext/session/mod_user.c')
-rw-r--r-- | ext/session/mod_user.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/ext/session/mod_user.c b/ext/session/mod_user.c index 9ab0be13cd..897955166b 100644 --- a/ext/session/mod_user.c +++ b/ext/session/mod_user.c @@ -192,14 +192,15 @@ PS_GC_FUNC(user) if (Z_TYPE(retval) == IS_LONG) { convert_to_long(&retval); - return Z_LVAL(retval); - } - /* This is for older API compatibility */ - if (Z_TYPE(retval) == IS_TRUE) { - return 1; + *nrdels = Z_LVAL(retval); + } else if (Z_TYPE(retval) == IS_TRUE) { + /* This is for older API compatibility */ + *nrdels = 1; + } else { + /* Anything else is some kind of error */ + *nrdels = -1; // Error } - /* Anything else is some kind of error */ - return -1; // Error + return *nrdels; } PS_CREATE_SID_FUNC(user) |