12c8d9d451
When the length of the tmpdir is longer than 400, there is an error when run "apt-get update": Method file has died unexpectedly! This is because the "char S[1024]" is not enough for long URI, S[2048] would be enough. [YOCTO #2689] (From OE-Core rev: 3ed08bd24cef39a85c528159a494e8f0dd001739) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
76 lines
2.2 KiB
Diff
76 lines
2.2 KiB
Diff
Method file has died unexpectedly
|
|
|
|
"Method file has died unexpectedly!", this is because the "char S[1024]"
|
|
is not enough for the long the URI, "char S[2048]" would be enough.
|
|
|
|
It would be boring if we use malloc here since we can't know how much
|
|
memory is needed except strelen() every component of it. So similarly
|
|
use "char S[2048]" as it did before.
|
|
|
|
Upstream-Status: Pending
|
|
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
|
---
|
|
apt-pkg/acquire-method.cc | 12 ++++++------
|
|
1 file changed, 6 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/apt-pkg/acquire-method.cc b/apt-pkg/acquire-method.cc
|
|
--- a/apt-pkg/acquire-method.cc
|
|
+++ b/apt-pkg/acquire-method.cc
|
|
@@ -95,7 +95,7 @@ void pkgAcqMethod::Fail(string Err,bool Transient)
|
|
*I = ' ';
|
|
}
|
|
|
|
- char S[1024];
|
|
+ char S[2048];
|
|
if (Queue != 0)
|
|
{
|
|
snprintf(S,sizeof(S)-50,"400 URI Failure\nURI: %s\n"
|
|
@@ -132,7 +132,7 @@ void pkgAcqMethod::URIStart(FetchResult &Res)
|
|
if (Queue == 0)
|
|
abort();
|
|
|
|
- char S[1024] = "";
|
|
+ char S[2048] = "";
|
|
char *End = S;
|
|
|
|
End += snprintf(S,sizeof(S),"200 URI Start\nURI: %s\n",Queue->Uri.c_str());
|
|
@@ -160,7 +160,7 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt)
|
|
if (Queue == 0)
|
|
abort();
|
|
|
|
- char S[1024] = "";
|
|
+ char S[2048] = "";
|
|
char *End = S;
|
|
|
|
End += snprintf(S,sizeof(S),"201 URI Done\nURI: %s\n",Queue->Uri.c_str());
|
|
@@ -242,7 +242,7 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt)
|
|
to be ackd */
|
|
bool pkgAcqMethod::MediaFail(string Required,string Drive)
|
|
{
|
|
- char S[1024];
|
|
+ char S[2048];
|
|
snprintf(S,sizeof(S),"403 Media Failure\nMedia: %s\nDrive: %s\n\n",
|
|
Required.c_str(),Drive.c_str());
|
|
|
|
@@ -411,7 +411,7 @@ void pkgAcqMethod::Log(const char *Format,...)
|
|
va_start(args,Format);
|
|
|
|
// sprintf the description
|
|
- char S[1024];
|
|
+ char S[2048];
|
|
unsigned int Len = snprintf(S,sizeof(S)-4,"101 Log\nURI: %s\n"
|
|
"Message: ",CurrentURI.c_str());
|
|
|
|
@@ -435,7 +435,7 @@ void pkgAcqMethod::Status(const char *Format,...)
|
|
va_start(args,Format);
|
|
|
|
// sprintf the description
|
|
- char S[1024];
|
|
+ char S[2048];
|
|
unsigned int Len = snprintf(S,sizeof(S)-4,"102 Status\nURI: %s\n"
|
|
"Message: ",CurrentURI.c_str());
|
|
|
|
--
|
|
1.7.10.4
|
|
|