uhttpd URL-codec bug fixes.
authorJo-Philipp Wich <jow@openwrt.org>
Thu, 3 May 2012 17:19:16 +0000 (17:19 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Thu, 3 May 2012 17:19:16 +0000 (17:19 +0000)
commit2bfb1e012abca1dbb3797bc5e72e2af3ee741dec
tree0094e86406fe46b6e66234dc7b44e7939542f68b
parent6e5db7ed6908dc1f91cad10cb7f2d84b0afcc852
uhttpd URL-codec bug fixes.

* Fixed output-buffer-overflow bug in uh_urlencode() and uh_urldecode() [tested
  input-buffer index against output-buffer length].  In reality, this would not
  typically cause an overflow on decode, where the output string would be
  expected to be shorter than the input string; and uh_urlencode() seems to have
  been unreferenced in the source.

* Fixed bug: uh_urlencode() and uh_urldecode() both read one extra byte from the
  input-string.  While this could manifest in C code, the result was most
  egregious when called from Lua, where it caused an extra null byte to be
  embedded at the end of the output string.

* uh_urlencode() cleanup: removed redundant bitwise-and.

Signed-off-by: David Favro <openwrt@meta-dynamic.com>
SVN-Revision: 31569
package/uhttpd/src/uhttpd-utils.c