Gina Peter Banyard
0953e898db
Fix pg_fetch_object() when an error occurs in subroutine ( #20407 )
...
This is a follow-up of GH-20068
2025-11-06 22:47:28 +00:00
Gina Peter Banyard
129f6e536d
ext/pgsql: Refactor parameter parsing for a few functions ( #20068 )
2025-11-05 22:33:25 +00:00
Niels Dossche
5b5fe437f5
Merge branch 'PHP-8.5'
...
* PHP-8.5:
Fix GH-20374: PHP with tidy and custom-tags
pgsql: Fix memory leak when object init fails (#20387 )
2025-11-04 20:21:17 +01:00
Niels Dossche
b8e9f7c44c
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Fix GH-20374: PHP with tidy and custom-tags
pgsql: Fix memory leak when object init fails (#20387 )
2025-11-04 20:21:09 +01:00
Niels Dossche
07aab0c356
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-20374: PHP with tidy and custom-tags
pgsql: Fix memory leak when object init fails (#20387 )
2025-11-04 20:20:26 +01:00
Niels Dossche
04323955c1
pgsql: Fix memory leak when object init fails ( #20387 )
...
The return value is already overwritten by this point so we do have to
clean up the old return value (i.e. dataset) after all.
2025-11-04 19:59:38 +01:00
Gina Peter Banyard
00f42bb61d
Merge branch 'PHP-8.5'
...
* PHP-8.5:
Fix include paths for new pgsql tests
2025-11-04 04:43:04 +00:00
Gina Peter Banyard
3afac4c7f1
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Fix include paths for new pgsql tests
2025-11-04 04:42:53 +00:00
Gina Peter Banyard
14ed75e560
Fix include paths for new pgsql tests
2025-11-04 04:42:42 +00:00
Gina Peter Banyard
67e5d6cc2d
Merge branch 'PHP-8.5'
...
* PHP-8.5:
Update NEWS for recent pgsql bugfix
ext/pgsql: Fix segfaults when attempting to fetch row into a non-instantiable class name (#20180 )
2025-11-04 00:10:03 +00:00
Gina Peter Banyard
7c6affd617
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Update NEWS for recent pgsql bugfix
ext/pgsql: Fix segfaults when attempting to fetch row into a non-instantiable class name (#20180 )
2025-11-04 00:09:44 +00:00
Gina Peter Banyard
afca514c3b
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Update NEWS for recent pgsql bugfix
ext/pgsql: Fix segfaults when attempting to fetch row into a non-instantiable class name (#20180 )
2025-11-04 00:08:42 +00:00
Gina Peter Banyard
94dc6ae871
ext/pgsql: Fix segfaults when attempting to fetch row into a non-instantiable class name ( #20180 )
...
Also fix Windows CI with Postgres and CLEAN sections
---------
Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com >
2025-11-04 00:04:30 +00:00
Niels Dossche
5eec4d8001
pgsql: Avoid duplicating strings and factor out parameter building code
2025-10-20 20:41:38 +02:00
Niels Dossche
da9638298c
pgsql: Avoid unnecessary work in pgsql_copy_from_query() if the input already ends in a newline
2025-10-20 20:41:38 +02:00
Niels Dossche
e2396a6ffb
pgsql: Simplify pgsql_copy_from_query() by using character buffers
...
This also avoids some unnecessary zend_string overhead.
2025-10-20 20:41:38 +02:00
Niels Dossche
8e84e9a551
pgsql: Use cheaper string conversion functions
2025-10-20 20:41:38 +02:00
Niels Dossche
81fef09d01
Merge branch 'PHP-8.5'
...
* PHP-8.5:
pgsql: Fix memory leak when first string conversion fails
2025-10-18 23:59:54 +02:00
Niels Dossche
9282111d9f
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
pgsql: Fix memory leak when first string conversion fails
2025-10-18 23:59:48 +02:00
Niels Dossche
d992cd8315
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
pgsql: Fix memory leak when first string conversion fails
2025-10-18 23:59:41 +02:00
Niels Dossche
cf3b70d23c
pgsql: Fix memory leak when first string conversion fails
...
If the first string conversion fails, then i==0, but memory was still
allocated for `params`. However, we skip freeing `params` when i==0.
Closes GH-20213.
2025-10-18 23:59:15 +02:00
Tim Düsterhus
985d681501
tree-wide: Replace zval_is_true() by zend_is_true() ( #20065 )
...
* tree-wide: Replace `zval_is_true()` by `zend_is_true()`
The former is a direct alias of the latter which is much more often used.
* zend_operators: Remove `zval_is_true()`
2025-10-07 20:44:32 +02:00
Tim Düsterhus
d793de1a8c
pgsql: Use true / false instead of 1 / 0 for bool parameters
...
Changes done with Coccinelle:
@r1@
identifier F;
identifier p;
typedef bool;
parameter list [n1] PL1;
parameter list [n2] PL2;
@@
F(PL1, bool p, PL2) {
...
}
@r2@
identifier r1.F;
expression list [r1.n1] EL1;
expression list [r1.n2] EL2;
@@
F(EL1,
(
- 1
+ true
|
- 0
+ false
)
, EL2)
2025-09-24 18:51:40 +02:00
David Carlier
b73d8b373a
Merge branch 'PHP-8.4'
2025-08-15 08:08:16 +01:00
David Carlier
fd4db3e178
Merge branch 'PHP-8.3' into PHP-8.4
2025-08-15 08:05:14 +01:00
Mark Karpeles
987a3a5c8e
Fix GH-19484 i: potential use after free when using persistent pgsql connections.
...
By setting the notice processor to a no-op when a persistent connection is cleaned for future use.
Close GH-19485
2025-08-15 08:04:14 +01:00
Gina Peter Banyard
841afdc486
streams: use type zend_result instead of type int
2025-08-04 15:30:57 +01:00
DanielEScherzer
1eadf553f1
Arginfo: avoid using temporary zvals for initializing attribute values ( #19141 )
...
Instead of
* adding a zval on the stack
* initializing it
* copying the value to the attribute
Just initialize the value directly in the zend_attribute_arg
2025-07-21 13:33:51 -07:00
Niels Dossche
30f03021d1
[ci skip] Remove obsolete todo ( #19195 )
...
All arguments are documented on php.net, although result_type is called
mode in the docs and stub.
2025-07-21 10:57:54 +02:00
Daniel Scherzer
142e378618
Arginfo: add and use known strings for attribute values
2025-07-14 17:31:22 -07:00
DanielEScherzer
9225cb45ac
Make zend_register_*_constant() functions return pointers, use them ( #19029 )
...
Have each of the specialized methods for registering a constant return a
pointer to the registered constant the same way that the generic
`zend_register_constant()` function does, and use those in the generated
arginfo files to avoid needing to search for a constant that was just
registered in order to add attributes to it.
2025-07-07 12:23:52 -07:00
Jakub Zelenka
545d1536d8
Fix GHSA-hrwm-9436-5mv3: pgsql escaping no error checks
...
This adds error checks for escape function is pgsql and pdo_pgsql
extensions. It prevents possibility of storing not properly escaped
data which could potentially lead to some security issues.
2025-07-01 09:34:49 -07:00
Ilija Tovilo
49d94cced0
Merge branch 'PHP-8.4'
...
* PHP-8.4:
Fix GHSA-453j-q27h-5p8x
Fix GHSA-hrwm-9436-5mv3: pgsql escaping no error checks
Fix GHSA-3cr5-j632-f35r: Null byte in hostnames
2025-07-01 17:48:00 +02:00
Jakub Zelenka
66bd809ac9
Fix GHSA-hrwm-9436-5mv3: pgsql escaping no error checks
...
This adds error checks for escape function is pgsql and pdo_pgsql
extensions. It prevents possibility of storing not properly escaped
data which could potentially lead to some security issues.
2025-07-01 23:01:16 +09:00
DanielEScherzer
171501b93f
Replace @deprecated with #[\Deprecated] for internal constants ( #18780 )
...
Only covers constants declared via stub files, others will be handled
separately in a later commit.
Does not include the intl extension, since that had some errors relating to the
cpp code; that extension will be updated separately.
2025-06-26 11:27:15 -07:00
Gina Peter Banyard
0cdd3c32de
ext/pgsql: Stop using useless convert_to_boolean() API ( #18683 )
...
There are better ways of handling this than casting the zval in place
2025-05-29 19:09:11 +01:00
Gina Peter Banyard
2b22ea9630
Merge branch 'PHP-8.4'
...
* PHP-8.4:
ext/pgsql: Fix warning not being emittedd when failure to cancel a query
2025-05-29 15:44:08 +01:00
Gina Peter Banyard
aae88ac799
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
ext/pgsql: Fix warning not being emittedd when failure to cancel a query
2025-05-29 15:43:52 +01:00
Gina Peter Banyard
40422e9c55
ext/pgsql: Fix warning not being emittedd when failure to cancel a query
2025-05-29 15:42:48 +01:00
David CARLIER
be53902a13
ext/pgsql: globals data struct rework/size reduction ( #18503 )
2025-05-05 14:40:09 +01:00
Niels Dossche
c15cacc902
Merge branch 'PHP-8.4'
...
* PHP-8.4:
Fix uouv in pg_put_copy_end()
2025-04-21 17:47:55 +02:00
Niels Dossche
4621423e5e
Fix uouv in pg_put_copy_end()
...
Closes GH-18383.
2025-04-21 17:47:37 +02:00
David CARLIER
8f6bc97a36
ext/pgsql: pg_fetch_all_columns/pg_copy_to arrays optimisations. ( #18374 )
...
changes to packed arrays for output userland values.
2025-04-21 13:43:44 +01:00
David Carlier
334d9bbc09
ext/pgsql: adding pg_service() alongside other connection infos.
...
returns the ongoing name of the service, if there is.
available since postgres 18
close GH-18198
2025-03-30 21:45:16 +01:00
David CARLIER
07470c3dd0
ext/pgsql: fix pg_close_stmt() signature. ( #18194 )
2025-03-30 15:38:10 +01:00
David Carlier
50bffd3284
Merge branch 'PHP-8.4'
2025-03-26 17:46:38 +00:00
David Carlier
9c6fe6b0ff
Fix GH-18148: pg_copy_from() wrong \n offset check.
...
Close GH-18149
2025-03-26 17:44:01 +00:00
David CARLIER
d5251513b1
ext/pgsql: get_field_name helper, remove unused precaution for pg_type request. ( #18025 )
...
it is an internal table and oid is a real Oid (uint32_t) value.
2025-03-19 21:56:00 +00:00
Gina Peter Banyard
eb4ccf5758
ext/pgsql: Use new php_streams fast ZPP specifier
2025-03-03 18:08:23 +00:00
David Carlier
f82f602ec8
ext/pgsql: few internal changes.
...
Z_PARAM_STR*/Z_PARAM_PATH. lo_write checks any null byte.
close GH-17587
2025-01-26 19:15:36 +00:00