Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.2
sblim-sfcb
0140-2169527-attrsOk_alloca_fix.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0140-2169527-attrsOk_alloca_fix.patch of Package sblim-sfcb
Index: cimXmlParser.c =================================================================== RCS file: /cvsroot/sblim/sfcb/cimXmlParser.c,v retrieving revision 1.29 diff -u -p -r1.29 cimXmlParser.c --- cimXmlParser.c 15 Aug 2008 19:05:13 -0000 1.29 +++ cimXmlParser.c 15 Oct 2008 21:16:29 -0000 @@ -42,7 +42,7 @@ typedef struct tags { } Tags; - +/* TODO: be more graceful than just exit() */ static void Throw(XmlBuffer * xb, char *msg) { printf("*** Error: %s\n", msg); @@ -281,13 +281,15 @@ static int attrsOk(XmlBuffer * xb, const return 1; } - ptr = (char *) alloca(strlen(tag) + strlen(msg2) + 48); + /* build error message for Throw(): "Bad attribute list for: <TAG>: <chars...> */ + ptr = (char*)alloca(strlen(msg2) + strlen(tag) + sizeof(char)*2 + strlen(word)); strcpy(ptr, msg2); strcat(ptr, tag); strcat(ptr, ": "); - strncpy(word, xb->cur, 10); - strcat(ptr, word); - strcat(ptr, tag); + /* ensure we have at least 10 chars left in the XML */ + int wlen = (xb->cur < (xb->last - 10)) ? 10 : (xb->last - xb->cur); + strncpy(word, xb->cur, wlen); + strncat(ptr, word, wlen); Throw(xb, ptr); return -1; }
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