1 |
pva 10/10/29 15:24:18 |
2 |
|
3 |
Added: monotone-0.99-crash.patch |
4 |
monotone-0.48.1-sqlite-3.7.3.patch |
5 |
Log: |
6 |
Apply upstream patch for 0.99 to fix crash. Add better version for fast stabilization for security bug #342705. |
7 |
|
8 |
(Portage version: 2.1.9.22/cvs/Linux x86_64) |
9 |
|
10 |
Revision Changes Path |
11 |
1.1 dev-vcs/monotone/files/monotone-0.99-crash.patch |
12 |
|
13 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-vcs/monotone/files/monotone-0.99-crash.patch?rev=1.1&view=markup |
14 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-vcs/monotone/files/monotone-0.99-crash.patch?rev=1.1&content-type=text/plain |
15 |
|
16 |
Index: monotone-0.99-crash.patch |
17 |
=================================================================== |
18 |
============================================================ |
19 |
--- NEWS 28057863abe389acf343fd6781d215d7d99dd2eb |
20 |
+++ NEWS 287e77585d21957e85230c1fc3f06921a0621561 |
21 |
@@ -1,3 +1,14 @@ |
22 |
+??? ??? ?? ??:??:?? UTC 2010 |
23 |
+ |
24 |
+ 0.99.1 release. |
25 |
+ |
26 |
+ Bugs fixed |
27 |
+ |
28 |
+ - monotone crashed on x86_64 when a netsync action required |
29 |
+ the parsing of an URL. This has been fixed. |
30 |
+ (closes monotone issue 100) |
31 |
+ |
32 |
+ |
33 |
Thu Oct 28 21:07:18 UTC 2010 |
34 |
|
35 |
0.99 release. |
36 |
============================================================ |
37 |
--- pcrewrap.cc 08ac10d9a75557faba316d1b0a242b8ed3cd4243 |
38 |
+++ pcrewrap.cc 42611610af4de2f7d1da39bf5c023038b7590be7 |
39 |
@@ -144,7 +144,7 @@ namespace pcre |
40 |
// because pcre_exec might not signal trailing unmatched subpatterns |
41 |
// i.e. if "abc" matches "(abc)(de)?", the match count is two, not |
42 |
// the expected three |
43 |
- size_t cap_count; |
44 |
+ size_t cap_count = 0; |
45 |
int rc = pcre_fullinfo(basedat, extradat, PCRE_INFO_CAPTURECOUNT, &cap_count); |
46 |
I(rc == 0); |
47 |
|
48 |
|
49 |
|
50 |
|
51 |
1.1 dev-vcs/monotone/files/monotone-0.48.1-sqlite-3.7.3.patch |
52 |
|
53 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-vcs/monotone/files/monotone-0.48.1-sqlite-3.7.3.patch?rev=1.1&view=markup |
54 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-vcs/monotone/files/monotone-0.48.1-sqlite-3.7.3.patch?rev=1.1&content-type=text/plain |
55 |
|
56 |
Index: monotone-0.48.1-sqlite-3.7.3.patch |
57 |
=================================================================== |
58 |
============================================================ |
59 |
--- database.cc 0afa3ff4bd9c9ee3bc62b10bcf6295a9f5388d64 |
60 |
+++ database.cc 8bfff559a0894259fe3668294bd3906ae837129b |
61 |
@@ -1531,12 +1531,19 @@ database_impl::fetch(results & res, |
62 |
vector<string> row; |
63 |
for (int col = 0; col < ncol; col++) |
64 |
{ |
65 |
+ // We never store NULLs, so we should never see one. |
66 |
+ int const datatype = sqlite3_column_type(i->second.stmt(), col); |
67 |
+ E(datatype != SQLITE_NULL, origin::database, |
68 |
+ F("null result in query: %s") % query.sql_cmd); |
69 |
const char * value = (const char*)sqlite3_column_blob(i->second.stmt(), col); |
70 |
int bytes = sqlite3_column_bytes(i->second.stmt(), col); |
71 |
- E(value, origin::database, |
72 |
- F("null result in query: %s") % query.sql_cmd); |
73 |
- row.push_back(string(value, value + bytes)); |
74 |
- //L(FL("row %d col %d value='%s'") % nrow % col % value); |
75 |
+ if (value) { |
76 |
+ row.push_back(string(value, value + bytes)); |
77 |
+ } else { |
78 |
+ // sqlite3_column_blob() returns null for zero-length |
79 |
+ I(bytes == 0); |
80 |
+ row.push_back(string()); |
81 |
+ } |
82 |
} |
83 |
res.push_back(row); |
84 |
} |