Skip to content

Invalid buffers not throwing warnings #6770

Closed

Description

@jspri
  • Version: v6.1.0
  • Platform: Win10 x64

var a = new Buffer('1', 'hex') creates a new empty buffer. This throws an error on earlier versions of node (tested on v5.8) as the input length should be a multiple of 1 byte.

Probably introduced by afd821a in lib/buffer.js. The length check returns 0 which would have normally gone on to raise an error at a later stage but is now short circuited by the new code.

Could probably just do with an extra line to check if the input is non empty or have byteLength return a fractional value.

Activity

  1. added
    bufferIssues and PRs related to the buffer subsystem.
    on May 15, 2016
  2. addaleax commented on May 15, 2016

    @addaleax
    Member

    Probably introduced by afd821a in lib/buffer.js.

    Yep, can confirm that.

    Could probably just do with an extra line to check if the input is non empty

    Yeah, I think that’s the right thing to do (maybe even instead of/before the byteLength calculation, as @ronkorving’s comment on afd821a suggests). Interested in writing a PR for that?

    /cc @nodejs/buffer

  3. jspri commented on May 15, 2016

    @jspri
    ContributorAuthor

    Sure, I'll do a PR. Is this the sort of thing you would normally also write a test case for?

  4. addaleax commented on May 15, 2016

    @addaleax
    Member

    Yes, definitely. You can see an example of a test for that in e.g. #4877, which comes pretty close to what you are going to test here.

  5. added a commit that references this issue on May 15, 2016
    f998347
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bufferIssues and PRs related to the buffer subsystem.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions