diff --git a/src/lib/efreet/efreet_uri.c b/src/lib/efreet/efreet_uri.c index 9f468ce5df..44fe54a35f 100644 --- a/src/lib/efreet/efreet_uri.c +++ b/src/lib/efreet/efreet_uri.c @@ -22,13 +22,16 @@ efreet_uri_decode(const char *full_uri) Efreet_Uri *uri; const char *p; char scheme[64], authority[_POSIX_HOST_NAME_MAX], path[PATH_MAX]; + char *sep; int i = 0; EINA_SAFETY_ON_NULL_RETURN_VAL(full_uri, NULL); /* An uri should be in the form :[][][][] */ - if (!strstr(full_uri, ":")) return NULL; - + sep = strchr(full_uri, ':'); + if (!sep) return NULL; + /* check if we have a Windows PATH, that is a letter follow by a colon */ + if ((sep - full_uri) == 1) return NULL; memset(scheme, 0, 64); memset(authority, 0, _POSIX_HOST_NAME_MAX);