elbart / node-memcache

node.js memcached client
285 stars 64 forks source link

Incorrect detection of the record "END" #22

Open shunanya opened 12 years ago

shunanya commented 12 years ago

I have noted that while special records in the memcached the library causes the uncaught exceptions. E.g. record like {"agent": "SI-DEC-S1(ENDO)", "user": "dimhelpdesk@dubuqueinternalmed.com"} causes exception ERROR while parsing: {"agent":"SI-DEC-S Un-caught exception: TypeError: Cannot read property 'type' of undefined TypeError: Cannot read property 'type' of undefined at [object Object].determine_reply_handler (/home/monitis/NodeServer/test/node_modules/memcache/lib/memcache.js:260:30) at [object Object].handle_received_data (/home/monitis/NodeServer/test/node_modules/memcache/lib/memcache.js:217:21) at Socket. (/home/monitis/NodeServer/test/node_modules/memcache/lib/memcache.js:62:12) at Socket.emit (events.js:67:17) at TCP.onread (net.js:367:14)

I have tried to replace the command "buffer.indexOf('END')" with "buffer.lastIndexOf('END')" mostly occurred in the handle_get function and, seems, it comes to the perfect working state.

Simon

lusentis commented 12 years ago

I have the same issue. Replacing buffer.indexOf('END') with buffer.lastIndexOf('END') (3 times) as suggested seems to solve the problem.

Simone

cccvvv2012 commented 11 years ago

same problem fixed by suggestion,thx

guileen commented 11 years ago

same issue