Merge: contrib/opportunity: prevent null receiver error
authorJean Privat <jean@pryen.org>
Thu, 19 Mar 2015 05:42:25 +0000 (12:42 +0700)
committerJean Privat <jean@pryen.org>
Thu, 19 Mar 2015 05:42:25 +0000 (12:42 +0700)
This error crashed the server 52 times in the last month.

Opportunity on xymus.net has already been updated.

Thanks to @isra17 and @ageei exec members for forging broken requests and revealing this problem.

Pull-Request: #1209
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Jean Privat <jean@pryen.org>

1  2 
contrib/opportunity/src/opportunity_controller.nit

@@@ -136,6 -136,7 +136,6 @@@ class OpportunityRESTActio
  
        redef fun answer(request, uri) do
                print "Received REST request from {uri}"
 -              var get = request.get_args
                var req = uri.split("/")
                if req.has("people") then
                        return (new OpportunityPeopleREST).answer(request, uri)
@@@ -198,9 -199,9 +198,9 @@@ class OpportunityMeetupRES
                if args.has("new_pers") then
                        var name = request.string_arg("persname")
                        var m_id = request.string_arg("meetup_id")
-                       var ans = request.string_arg("answers").split("&")
-                       if name == null or m_id == null then return bad_req
-                       print ans
+                       var ans_str = request.string_arg("answers")
+                       if name == null or m_id == null or ans_str == null then return bad_req
+                       var ans = ans_str.split("&")
                        var ansmap = new HashMap[Int, Int]
                        for i in ans do
                                var mp = i.split("=")