&aname{body};といった間違った書式がエラーにならず&aname(body);と解釈される

  • ページ: BugTrack2
  • 投稿者: Cue
  • 優先順位: 低
  • 状態: 完了
  • カテゴリー: プラグイン
  • 投稿日: 2005-08-03 (水) 19:52:41
  • バージョン:

修正

メッセージ

引数の数が違うconvertとinlineを同じ関数で解析させるのは無理があるようなので、下のような修正案を提案します。

--- plugin/aname.inc.php	Fri Jun 17 00:04:08 2005
+++ plugin/aname.inc.php	Wed Aug 03 15:50:32 2005
@@ -27,6 +27,8 @@
 // #aname
 function plugin_aname_convert()
 {
+	if (func_num_args() < 1)
+		return plugin_aname_usage(TRUE);
 	$args = func_get_args(); // Zero or more
 	return plugin_aname_tag($args);
 }
@@ -34,6 +36,8 @@
 // &aname;
 function plugin_aname_inline()
 {
+	if (func_num_args() < 2)
+		return plugin_aname_usage(FALSE);
 	$args = func_get_args(); // ONE or more
 
 	$body = strip_autolink(array_pop($args));
@@ -66,7 +70,7 @@
 	global $vars;
 	static $_id = array();
 
-	if (empty($args) || $args[0] == '') return plugin_aname_usage($convert);
+	if ($args[0] == '') return plugin_aname_usage($convert);
 	$id = array_shift($args);
 	$body = '';
 	if (! empty($args)) $body = array_pop($args);

  • ご提案ありがとうございます :) 引数の検証漏れという事で、ほぼそのまま採用させていただきました。 plugin_aname_tag() の先頭で $args が empty() かどうかを調べる部分については、「そのルートが通常ありえないかどうか」と、その関数の安全性は無関係ですのでそのままとさせていただきました。 -- henoheno 2005-08-07 (日) 22:43:46

別件: 表記ミス

@@ -49,7 +53,7 @@
 		if ($convert) {
 			return '#aname(anchorID[[,super][,full][,noid],Link title])';
 		} else {
-			return '&amp;aname(anchorID[,super][,full][,noid]){[Link title]}';
+			return '&amp;aname(anchorID[,super][,full][,noid]){[Link title]};';
 		}
 	} else {
 		if ($convert) {

  • こちらも同時にコミットしました。 -- henoheno 2005-08-07 (日) 22:45:57

別件: bodyに&aname;を入れるとアンカーがネストする問題

  • 別件になりますが、bodyに&anameを入れるとアンカーがネストする問題はBugTrack2/65に書いたstrip_autolinkのリンク剥がし汎用化で直ります。 -- Cue 2005-08-03 (水) 19:55:49
  • こちらは補足情報ですね。ありがとうございます :) -- henoheno 2005-08-07 (日) 22:46:23


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-08-07 (日) 22:46:23
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.590 sec.

OSDN