Status/Resolution/Reason: Closed/Fixed/
Reporter/Name(from Bugbase): Elliott Sprehn / Elliott Sprehn (Elliott Sprehn)
Created: 03/25/2009
Components: Language
Versions: 9.0
Failure Type: Unspecified
Found In Build/Fixed In Build: 0000 / 230174
Priority/Frequency: Major / Unknown
Locale/System: English / Platforms All
Vote Count: 1
Problem:
Lots of bugs in Tag Service cfcs in com.adobe.coldfusion package.
Every component:
Missing var for loop index in almost every function. Nothing is thread safe.
No type attribute used for exceptions from System.throw(). There's no way to catch exceptions from these components explicitly. Should probably throw something like type="com.adobe.coldfusion.#ExceptionName#".
ListSort() on every creation of the tag for the serviceTagAttributes. Shouldn't this be done once on the cached value in the server scope?
listsort(getSupportedTagAttributes(getTagName()),"textnocase","ASC")
[b]com.adobe.coldfusion.System:[/b]
Missing output="false" on the cfcomponent.
Missing output="false" on the cffunctions.
Missing var for variables in manipulateArguments(). Calling any system method from two different threads can cause bad things to happen.
com.adobe.coldfusion.Base:
Missing output="false" on the cfcomponent.
Missing var for tons of variables in the invokeTag(). This makes none of the tag cfcs thread safe.
cfmail functionality will generate tons of whitespace around plain text mail.
Lots of Evaluate() statements all over the invokeTag() function. Causes undocumented evaluation of many tag attributes which is not safe and does odd things if your attribute value is the same as a variable in the function or tag.
Undocumented usage of Server scope for caching serviceTagAttributes. Maybe should use Server.coldfusion to prevent possible conflicts with existing code?
getSupportedTagAttributes() should probably use double checked locking since parsing that XML is going to be costly.
com.adobe.coldfusion.Query
Assumes every database uses single quotes to quote literal strings. MySQL for instance uses backticks.
Usage of special tokens _colon_ and _qmark_. While unlikely, someone might actually want a _colon_ in their literal SQL too. Should use special ascii characters like chr(1) and chr(2).
Method:
Result:
----------------------------- Additional Watson Details -----------------------------
Watson Bug ID: 3038003
External Customer Info:
External Company:
External Customer Name: Elliott Sprehn
External Customer Email: 202D59C844579997992016B7
External Test Config: 03/25/2009
Attachments:
Comments: