mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 12:29:55 +00:00
apt 0.7.14: runtime error: Method file has died unexpectedly
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>
This commit is contained in:
committed by
Richard Purdie
parent
f06c1c3df0
commit
12c8d9d451
@@ -0,0 +1,75 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
require apt-native.inc
|
require apt-native.inc
|
||||||
|
|
||||||
PR = "r9"
|
PR = "r10"
|
||||||
|
|
||||||
SRC_URI += "file://nodoc.patch \
|
SRC_URI += "file://nodoc.patch \
|
||||||
file://noconfigure.patch \
|
file://noconfigure.patch \
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/apt_${PV}.tar.gz \
|
|||||||
file://makerace.patch \
|
file://makerace.patch \
|
||||||
file://remove-redeclaration.patch \
|
file://remove-redeclaration.patch \
|
||||||
file://truncate-filename.patch \
|
file://truncate-filename.patch \
|
||||||
|
file://allocate-larger-memory.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
inherit autotools gettext
|
inherit autotools gettext
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ RDEPENDS_${PN} = "dpkg"
|
|||||||
LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
|
LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
|
||||||
require apt.inc
|
require apt.inc
|
||||||
|
|
||||||
PR = "r14"
|
PR = "r15"
|
||||||
|
|
||||||
SRC_URI += "file://nodoc.patch \
|
SRC_URI += "file://nodoc.patch \
|
||||||
file://includes-fix.patch "
|
file://includes-fix.patch "
|
||||||
|
|||||||
Reference in New Issue
Block a user