Browse Source

Bugfix: Negative ints in HTTP's on_body and node.fs.read()

Similar to the error fixed in
9d3ed1bb92.

Reported by Felix Geisendörfer.
v0.7.4-release
Ryan 16 years ago
parent
commit
ed8c43d2f3
  1. 3
      src/file.cc
  2. 2
      src/http.cc

3
src/file.cc

@ -285,7 +285,8 @@ AfterRawRead(eio_req *req)
size_t len = req->result; size_t len = req->result;
Local<Array> array = Array::New(len); Local<Array> array = Array::New(len);
for (unsigned int i = 0; i < len; i++) { for (unsigned int i = 0; i < len; i++) {
array->Set(Integer::New(i), Integer::New(buf[i])); unsigned char val = reinterpret_cast<const unsigned char*>(buf)[i];
array->Set(Integer::New(i), Integer::New(val));
} }
argv[0] = array; argv[0] = array;
argv[1] = Integer::New(req->result); argv[1] = Integer::New(req->result);

2
src/http.cc

@ -196,7 +196,7 @@ HTTPConnection::on_body (http_parser *parser, const char *buf, size_t len)
// raw encoding // raw encoding
Local<Array> array = Array::New(len); Local<Array> array = Array::New(len);
for (size_t i = 0; i < len; i++) { for (size_t i = 0; i < len; i++) {
char val = static_cast<const char*>(buf)[i]; unsigned char val = reinterpret_cast<const unsigned char*>(buf)[i];
array->Set(Integer::New(i), Integer::New(val)); array->Set(Integer::New(i), Integer::New(val));
} }
argv[0] = array; argv[0] = array;

Loading…
Cancel
Save