1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-29 10:18:30 +00:00

- A patch to prevent a buffer overrun

http://sourceforge.net/tracker/index.php?func=detail&aid=1534483&group_id=52781&atid=468021

PR:		ports/103810
Submitted by:	Simun Mikecin <numisemis at yahoo.com>
This commit is contained in:
Sergey Matveychuk 2006-10-08 11:25:32 +00:00
parent 414485f997
commit 930b4752f7
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=174918
3 changed files with 24 additions and 6 deletions

View File

@ -7,7 +7,7 @@
PORTNAME= gsoap
PORTVERSION= 2.7.8c
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= gsoap2

View File

@ -1,6 +1,6 @@
--- soapcpp2/stdsoap2.c.orig Sat May 20 00:20:40 2006
+++ soapcpp2/stdsoap2.c Sat May 20 00:58:33 2006
@@ -3251,7 +3251,7 @@
--- soapcpp2/stdsoap2.c.orig Mon Jun 26 21:36:38 2006
+++ soapcpp2/stdsoap2.c Fri Sep 29 14:22:51 2006
@@ -3282,7 +3282,7 @@
soap->errnum = h_errno;
}
#elif defined(HAVE_GETHOSTBYNAME_R)
@ -9,3 +9,12 @@
#elif defined(VXWORKS)
/* If the DNS resolver library resolvLib has been configured in the vxWorks
* image, a query for the host IP address is sent to the DNS server, if the
@@ -7616,7 +7616,7 @@
break;
}
if (!tp)
- { tp = (struct soap_attribute*)SOAP_MALLOC(soap, sizeof(struct soap_attribute) + strlen(soap->tmpbuf));
+ { tp = (struct soap_attribute*)SOAP_MALLOC(soap, sizeof(struct soap_attribute) + strlen(soap->tmpbuf) + 1);
if (!tp)
return soap->error = SOAP_EOM;
strcpy(tp->name, soap->tmpbuf);

View File

@ -1,5 +1,5 @@
--- soapcpp2/stdsoap2.cpp.orig Mon Jun 26 23:36:38 2006
+++ soapcpp2/stdsoap2.cpp Sat Aug 5 12:18:51 2006
--- soapcpp2/stdsoap2.c.orig Mon Jun 26 21:36:38 2006
+++ soapcpp2/stdsoap2.cpp Fri Sep 29 14:22:34 2006
@@ -3282,7 +3282,7 @@
soap->errnum = h_errno;
}
@ -18,3 +18,12 @@
for (j = 0; j < sk_CONF_VALUE_num(val); j++)
{ CONF_VALUE *nval = sk_CONF_VALUE_value(val, j);
if (nval && !strcmp(nval->name, "DNS") && !strcmp(nval->value, host))
@@ -7616,7 +7616,7 @@
break;
}
if (!tp)
- { tp = (struct soap_attribute*)SOAP_MALLOC(soap, sizeof(struct soap_attribute) + strlen(soap->tmpbuf));
+ { tp = (struct soap_attribute*)SOAP_MALLOC(soap, sizeof(struct soap_attribute) + strlen(soap->tmpbuf) + 1);
if (!tp)
return soap->error = SOAP_EOM;
strcpy(tp->name, soap->tmpbuf);