summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/File_redirection.php8
-rw-r--r--lib/util.php5
2 files changed, 12 insertions, 1 deletions
diff --git a/classes/File_redirection.php b/classes/File_redirection.php
index f128b3e07..51b8be3b0 100644
--- a/classes/File_redirection.php
+++ b/classes/File_redirection.php
@@ -210,6 +210,14 @@ class File_redirection extends Memcached_DataObject
} else if (is_string($redir_data)) {
// The file is a known redirect target.
$file = File::staticGet('url', $redir_data);
+ if (empty($file)) {
+ // @fixme should we save a new one?
+ // this case was triggering sometimes for redirects
+ // with unresolvable targets; found while fixing
+ // "can't linkify" bugs with shortened links to
+ // SSL sites with cert issues.
+ return null;
+ }
$file_id = $file->id;
}
} else {
diff --git a/lib/util.php b/lib/util.php
index 9f62097d5..66600c766 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -830,7 +830,10 @@ function common_linkify($url) {
} elseif (is_string($longurl_data)) {
$longurl = $longurl_data;
} else {
- throw new ServerException("Can't linkify url '$url'");
+ // Unable to reach the server to verify contents, etc
+ // Just pass the link on through for now.
+ common_log(LOG_ERR, "Can't linkify url '$url'");
+ $longurl = $url;
}
}
$attrs = array('href' => $canon, 'title' => $longurl, 'rel' => 'external');