Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2
openslp
openslp.parseext.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File openslp.parseext.diff of Package openslp
--- ./common/slp_message.c.orig 2010-10-12 15:42:23.439823000 +0000 +++ ./common/slp_message.c 2010-10-12 15:45:44.936750000 +0000 @@ -872,10 +872,19 @@ int ParseExtension(SLPBuffer buffer, SLP int extid; int nextoffset; int result = SLP_ERROR_OK; + int bufsz = (int)(buffer->end - buffer->start); nextoffset = message->header.extoffset; while(nextoffset) { + /* check for circular reference in list + * if the size gets below zero, we know we're + * reprocessing extensions in a loop. + */ + bufsz -= 5; + if (bufsz <= 0) + return SLP_ERROR_PARSE_ERROR; + buffer->curpos = buffer->start + nextoffset; if(buffer->curpos + 5 >= buffer->end) {
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