]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Disallow zero-length magnet URIs
authorMikael Nordfeldth <mmn@hethane.se>
Wed, 3 Feb 2016 14:26:19 +0000 (15:26 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Wed, 3 Feb 2016 14:26:19 +0000 (15:26 +0100)
magnet: would match, but now we have a zero-length lookahead which
requires the following character to be a question mark: magnet:?

lib/util.php

index 6026105cb162015e033b82c3af3332fe5f67f4b9..54296e1a4ca8f07e2dee8243cc621439a04ace89 100644 (file)
@@ -972,7 +972,7 @@ function common_replace_urls_callback($text, $callback, $arg = null) {
                 ')'.
             ')'.
             // URLs without domain name, like magnet:?xt=...
-            '|(?:(?:' . implode('|', common_url_schemes(_URL_SCHEME_NO_DOMAIN)) . '):)'.
+            '|(?:(?:' . implode('|', common_url_schemes(_URL_SCHEME_NO_DOMAIN)) . '):(?=\?))'.  // zero-length lookahead requires ? after :
             (common_config('linkify', 'bare_ipv4')   // Convert IPv4 addresses to hyperlinks
                 ? '|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'
                 : '').