Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.1
memcached
memcached-1.2.8_proper_vlen_fix.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File memcached-1.2.8_proper_vlen_fix.patch of Package memcached
Index: memcached.c =================================================================== --- memcached.c.orig 2009-08-06 15:08:34.260286896 +0200 +++ memcached.c 2009-08-06 15:08:34.280288516 +0200 @@ -1374,7 +1374,7 @@ static void process_update_command(conn flags = strtoul(tokens[2].value, NULL, 10); exptime = strtol(tokens[3].value, NULL, 10); - vlen = strtol(tokens[4].value, NULL, 10); + vlen = strtol(tokens[4].value, NULL, 10) + 2; // does cas value exist? if(handle_cas) @@ -1383,7 +1383,7 @@ static void process_update_command(conn } if(errno == ERANGE || ((flags == 0 || exptime == 0) && errno == EINVAL) - || vlen < 0) { + || vlen < 0 || vlen - 2 < 0) { out_string(c, "CLIENT_ERROR bad command line format"); return; } @@ -1405,16 +1405,16 @@ static void process_update_command(conn } } - it = item_alloc(key, nkey, flags, realtime(exptime), vlen+2); + it = item_alloc(key, nkey, flags, realtime(exptime), vlen); if (it == 0) { - if (! item_size_ok(nkey, flags, vlen + 2)) + if (! item_size_ok(nkey, flags, vlen)) out_string(c, "SERVER_ERROR object too large for cache"); else out_string(c, "SERVER_ERROR out of memory storing object"); /* swallow the data line */ c->write_and_go = conn_swallow; - c->sbytes = vlen + 2; + c->sbytes = vlen; /* Avoid stale data persisting in cache because we failed alloc. * Unacceptable for SET. Anywhere else too? */
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor