SHA256
1
0
forked from pool/gsoap
gsoap/gsoap-reset-error-code.diff

59 lines
1.4 KiB
Diff

References: https://sf.net/p/gsoap2/bugs/1025/
---
gsoap/stdsoap2.cpp | 6 ++++++
1 file changed, 6 insertions(+)
Index: gsoap-2.8.22/gsoap/stdsoap2.cpp
===================================================================
--- gsoap-2.8.22.orig/gsoap/stdsoap2.cpp
+++ gsoap-2.8.22/gsoap/stdsoap2.cpp
@@ -4074,6 +4074,7 @@ again:
#ifdef WITH_IPV6
if (res->ai_next)
{ res = res->ai_next;
+ soap->error = 0;
goto again;
}
#endif
@@ -4284,6 +4285,7 @@ again:
#ifdef WITH_IPV6
if (err == SOAP_ECONNREFUSED && res->ai_next)
{ soap->fclosesocket(soap, sk);
+ soap->error = 0;
res = res->ai_next;
goto again;
}
@@ -4309,6 +4311,7 @@ again:
#ifdef WITH_IPV6
if (res->ai_next)
{ res = res->ai_next;
+ soap->error = 0;
goto again;
}
freeaddrinfo(ressave);
@@ -4323,6 +4326,7 @@ again:
#ifdef WITH_IPV6
if (res->ai_next)
{ res = res->ai_next;
+ soap->error = 0;
goto again;
}
freeaddrinfo(ressave);
@@ -4341,6 +4345,7 @@ again:
#ifdef WITH_IPV6
if (res->ai_next)
{ res = res->ai_next;
+ soap->error = 0;
goto again;
}
freeaddrinfo(ressave);
@@ -4351,6 +4356,7 @@ again:
#ifdef WITH_IPV6
if (res->ai_next)
{ res = res->ai_next;
+ soap->error = 0;
soap->fclosesocket(soap, sk);
goto again;
}