Author: senaka
Date: Wed Mar  5 12:48:03 2008
New Revision: 634023

URL: http://svn.apache.org/viewvc?rev=634023&view=rev
Log:
Fixing JIRA Issue AXIS2C-1030

Modified:
    webservices/axis2/trunk/c/util/src/url.c

Modified: webservices/axis2/trunk/c/util/src/url.c
URL: 
http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/src/url.c?rev=634023&r1=634022&r2=634023&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/src/url.c (original)
+++ webservices/axis2/trunk/c/util/src/url.c Wed Mar  5 12:48:03 2008
@@ -43,6 +43,13 @@
     AXIS2_ENV_CHECK(env, NULL);
     AXIS2_PARAM_CHECK(env->error, protocol, NULL);
 
+    if (!protocol || !*protocol ||
+        strstr(protocol, "://") ||
+        strchr(server, '/'))
+    {
+        return NULL;
+    }
+
     url = (axutil_url_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_url_t));
 
     if (!url)
@@ -68,15 +75,27 @@
      */
     if (path)
     {
+        axis2_char_t *params = NULL;
+        axis2_char_t *temp = NULL;
         if (path[0] == '/')
         {
-            url->path = (axis2_char_t *) axutil_strdup(env, path);
+            temp = (axis2_char_t *) axutil_strdup(env, path);
         }
         else
         {
-            url->path = axutil_stracat(env, "/", path);
+            temp = axutil_stracat(env, "/", path);
         }
-
+        params = strchr(temp, '?');
+        if (!params)
+        {
+            params = strchr(temp, '#');
+        }
+        if (params)
+        {
+            *params = '\0';
+        }
+        url->path = (axis2_char_t *) axutil_strdup(env, temp);
+        AXIS2_FREE(env->allocator, temp);
     }
 
     return url;



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to