Commit 41c0ffd98bc for php.net

commit 41c0ffd98bc588faea44a76ce6448f7296f4cf6b
Merge: 442df119dd1 c94681937f4
Author: Ilia Alshanetsky <ilia@ilia.ws>
Date:   Wed Jun 24 11:43:48 2026 -0400

    Merge branch 'PHP-8.4' into PHP-8.5

    * PHP-8.4:
      Fix signed dbconvert() return stored into size_t in dblib lastInsertId

diff --cc ext/pdo_dblib/dblib_driver.c
index d3fb1b70931,f81e9e7397f..9bb95da934b
--- a/ext/pdo_dblib/dblib_driver.c
+++ b/ext/pdo_dblib/dblib_driver.c
@@@ -233,8 -233,9 +233,8 @@@ zend_string *dblib_handle_last_id(pdo_d
  	pdo_dblib_db_handle *H = (pdo_dblib_db_handle *)dbh->driver_data;

  	RETCODE ret;
 -	char *id = NULL;
 +	BYTE id[40];
- 	size_t len;
+ 	DBINT len;
 -	zend_string *ret_id;

  	/*
  	 * Would use scope_identity() but it's not implemented on Sybase
@@@ -266,10 -267,18 +266,14 @@@
  		return NULL;
  	}

 -	id = emalloc(40);
 -	len = dbconvert(NULL, (dbcoltype(H->link, 1)) , (dbdata(H->link, 1)) , (dbdatlen(H->link, 1)), SQLCHAR, (BYTE *)id, (DBINT)40);
 +	len = dbconvert(NULL, (dbcoltype(H->link, 1)) , (dbdata(H->link, 1)) , (dbdatlen(H->link, 1)), SQLCHAR, (BYTE *)id, (DBINT)sizeof(id));
  	dbcancel(H->link);

+ 	if (len < 0) {
 -		efree(id);
+ 		return NULL;
+ 	}
+
 -	ret_id = zend_string_init(id, len, 0);
 -	efree(id);
 -	return ret_id;
 +	return zend_string_init((const char *) id, len, 0);
  }

  static bool dblib_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val)