PgAdmin crashes when browsing functions that only have a single out parameters without a default value (BTW default values on out parameters are not supported anyways)

The problem is in pgFunction.cpp(324).

To replicate the crash:
---------------------------------------------------------------------------
CREATE OR REPLACE FUNCTION out_test_crash_3(OUT integer)
 RETURNS integer AS
$BODY$
begin
$1 = 1000;
end;
$BODY$
 LANGUAGE 'plpgsql'
--------------------------------------------------------------------------

Then:
Refresh the function node in the tree and click on the function name above.

Possibe fix:
Included.

--
Regards,
Gevik

Index: schema/pgFunction.cpp
===================================================================
--- schema/pgFunction.cpp       (revision 7881)
+++ schema/pgFunction.cpp       (working copy)
@@ -321,7 +321,7 @@
         // Parameter default value
         if (GetConnection()->HasFeature(FEATURE_FUNCTION_DEFAULTS) || 
GetConnection()->BackendMinimumVersion(8, 4))
         {
-            if (!argDefsArray.Item(i).IsEmpty())
+            if (argDefsArray.Count() != 0 && !argDefsArray.Item(i).IsEmpty())
                 arg += wxT(" DEFAULT ") + argDefsArray.Item(i);
         }
 
-- 
Sent via pgadmin-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers

Reply via email to