Speculative fix for uninitialized value in CFX_ByteString().
authorTom Sepez <tsepez@chromium.org>
Wed, 30 Jul 2014 20:03:52 +0000 (13:03 -0700)
committerTom Sepez <tsepez@chromium.org>
Wed, 30 Jul 2014 20:03:52 +0000 (13:03 -0700)
commit0d3b5cc6028550205b56a80ccdd81aecf67e4508
tree9f9bd4975a11c4d817295b7d52e4dd39cc6eb6cf
parentcc965275f436267684a3f185ea3335e203cee6f9
Speculative fix for uninitialized value in CFX_ByteString().

If somehow different length values could be obtained by two successive calls
to Doc_getFilePath() (and FieldBrowse() for that matter), and the method is
true to the API documentation that says "The return value always indicated
number of bytes required for the buffer, even when there is no buffer
specified, or the buffer size is less then required", then it is possible
to get a returned length describing memory beyond the current buffer.

We can make the corresponding JS_docGetFilePath() method more robust against
this case by applying better checks to the returned value.

This probably is unrelated since ASAN seems to be flagging the corresponding bug
as UAF, but doesn't hurt to make things more robust.

BUG=392956
R=jun_fang@foxitsoftware.com

Review URL: https://codereview.chromium.org/423233002
fpdfsdk/include/fsdk_mgr.h