Comments (1)
I think I've fixed this in r508.
An empty string has no characters, therefore it can have no character encoding.
It follows that anywhere we do:
$encodedOutput = mb_convert_encoding("", SOME_CHARACTER_ENCODING);
we could simply do:
$encodedOutput = '';
The reason that '' wasn't being handled as desired (i.e. ignoring the encoded
portion
of a string or, more accurately, forcing the removal of the encoded portion
from the
normalized input string and adding nothing to the decoded string) was because in
Codec.decode an empty string was being treated the same way as null.
'' == null is true.
The fix is simply to:
if ($decodedCharacter !== null)
and then we can return an empty string whenever we want to strip a character
from the
string. Again, it's not necessary to apply character encoding to an empty
string.
As a side note: the only reason that returning a single space was a good
workaround
for this issue was because it was returned as a single byte character and the
conversion from UTF-32 yielded an empty string.
Original comment by [email protected]
on 16 Feb 2010 at 4:12
- Changed state: Fixed
from owasp-esapi-php.
Related Issues (20)
- ValidationErrorList implementation required for ValidationRules. HOT 4
- HTMLValidationRule needs example HTMLPurifier policy and should return errors to the user. HOT 2
- Tries to Create New Log File Even if Logger/LogLevel is set to OFF HOT 2
- Fatal Error calling attributes() on SimpleXMLElement instances on PHP 5.2.0 and PHP 5.2.0-8+etch16. HOT 1
- SafeFileTest testSafeFile fails to create an instance of SafeFile on PHP 5.2.0 and packages derived from it. HOT 2
- PHP Safe Mode causes test failures and exceptions HOT 3
- XMLEntityCodec HOT 1
- why are all the owasp-esapi-php wiki docs about java2, and not about php? HOT 3
- Ignore project development specific files in RCS HOT 1
- ExecutorTest testcases fail due to symlinked executable to test (not in canonical form) HOT 3
- Extraneous inclusion of logger in Base64Codec.php prevents overloading ESAPI HOT 3
- isValidPrintable() results in getESAPIValidationExpression: Cannot find regular expression HOT 1
- _assertValidInput in DefaultValidator should not use the same parameter to accept both the name of a regex defined in ESAPI.xml and an actual regex HOT 2
- Rewrite filters/SafeRequest HOT 2
- SafeRequest PATTERN_HOST_NAME fails for a.foo.com HOT 3
- Coding error in method DefaultUser::loginWithPassword() HOT 2
- Base64Codec doesn't correctly implement the Codec interface
- User.php interface class missing from repo?
- Codecs can be circumvented
- SVN Chekcout for PHP ESAPI does not work HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from owasp-esapi-php.