uhttpd URL-codec bug fixes.
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 3 May 2012 17:19:16 +0000 (17:19 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 3 May 2012 17:19:16 +0000 (17:19 +0000)
commitf6dc56506d693c2915e70f1d31bea4a894abc1a1
tree088d1a4973acf821193f1849bd4b23b0dbb4563a
parentc257a78d5571779df7b8196cfaf64f0f5a0a26ff
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31569 3c298f89-4303-0410-b956-a3cf2f4a3e73
package/uhttpd/src/uhttpd-utils.c