put some more IAE/IRAE exceptions right
authorDenis Ovsienko <denis@ovsienko.info>
Fri, 12 Oct 2018 11:14:53 +0000 (12:14 +0100)
committerDenis Ovsienko <denis@ovsienko.info>
Fri, 12 Oct 2018 11:18:06 +0000 (12:18 +0100)
The functions below did not take into account that the exception could
already be an instance of IRAE raised by assertStringArg() because the
argument was absent from the request. In that case the call to newIRAE()
would result in a PHP warning:

Undefined index: address in .../wwwroot/inc/exceptions.php on line 188

* assertIPArg()
* assertIPv4Arg()
* assertIPv6Arg()

wwwroot/inc/functions.php

index a6b3521e156eb4e441c9c2787d2d734751d44c5b..d849d2fe0edfb94968b44fc7224d88380ae126c7 100644 (file)
@@ -285,6 +285,10 @@ function assertIPArg ($argname)
        {
                return ip_parse (assertStringArg ($argname));
        }
+       catch (InvalidRequestArgException $irae)
+       {
+               throw $irae;
+       }
        catch (InvalidArgException $e)
        {
                throw $e->newIRAE ($argname);
@@ -298,6 +302,10 @@ function assertIPv4Arg ($argname)
        {
                return ip4_parse (assertStringArg ($argname));
        }
+       catch (InvalidRequestArgException $irae)
+       {
+               throw $irae;
+       }
        catch (InvalidArgException $e)
        {
                throw $e->newIRAE ($argname);
@@ -311,6 +319,10 @@ function assertIPv6Arg ($argname)
        {
                return ip6_parse (assertStringArg ($argname));
        }
+       catch (InvalidRequestArgException $irae)
+       {
+               throw $irae;
+       }
        catch (InvalidArgException $e)
        {
                throw $e->newIRAE ($argname);