author | Norm Jacobs <Norm.Jacobs@Oracle.COM> |
Fri, 24 Feb 2012 13:30:24 -0800 | |
changeset 706 | 6e61f0012046 |
parent 284 | ca417a821aee |
permissions | -rw-r--r-- |
284
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
1 |
--- libxml2-2.7.6/xpath.c.orig Mon Jun 6 11:10:14 2011 |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
2 |
+++ libxml2-2.7.6/xpath.c Mon Jun 6 11:11:04 2011 |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
3 |
@@ -11739,11 +11739,16 @@ |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
4 |
|
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
5 |
if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1)) { |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
6 |
xmlXPathObjectPtr tmp; |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
7 |
- /* pop the result */ |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
8 |
+ /* pop the result if any */ |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
9 |
tmp = valuePop(ctxt); |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
10 |
- xmlXPathReleaseObject(xpctxt, tmp); |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
11 |
- /* then pop off contextObj, which will be freed later */ |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
12 |
- valuePop(ctxt); |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
13 |
+ if (tmp != contextObj) { |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
14 |
+ /* |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
15 |
+ * Free up the result |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
16 |
+ * then pop off contextObj, which will be freed later |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
17 |
+ */ |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
18 |
+ xmlXPathReleaseObject(xpctxt, tmp); |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
19 |
+ valuePop(ctxt); |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
20 |
+ } |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
21 |
goto evaluation_error; |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
22 |
} |
ca417a821aee
7024583 Problem with library/libxml
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
23 |