summaryrefslogtreecommitdiff
path: root/core/java/android/webkit/CacheManager.java
diff options
context:
space:
mode:
authorGrace Kloba <klobag@google.com>2010-03-19 19:48:28 -0700
committerGrace Kloba <klobag@google.com>2010-03-19 19:48:28 -0700
commit7865fa97244d2f33d2a9c9ec359b475d6597e994 (patch)
tree9c4ea5ad8bd8ac6a9b4857e8a2de720dcc70f141 /core/java/android/webkit/CacheManager.java
parentee8500eeb07aa8f0b73df3f29bf9a0c0ad887377 (diff)
As http header can't be empty, check length before
setting lastModified and etag to the cacheResult. Fix http://b/issue?id=2531047
Diffstat (limited to 'core/java/android/webkit/CacheManager.java')
-rw-r--r--core/java/android/webkit/CacheManager.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/core/java/android/webkit/CacheManager.java b/core/java/android/webkit/CacheManager.java
index 1c59c10685d8..4f680e557013 100644
--- a/core/java/android/webkit/CacheManager.java
+++ b/core/java/android/webkit/CacheManager.java
@@ -733,11 +733,15 @@ public final class CacheManager {
ret.contentdisposition = contentDisposition;
}
+ // lastModified and etag may be set back to http header. So they can't
+ // be empty string.
String lastModified = headers.getLastModified();
- if (lastModified != null) ret.lastModified = lastModified;
+ if (lastModified != null && lastModified.length() > 0) {
+ ret.lastModified = lastModified;
+ }
String etag = headers.getEtag();
- if (etag != null) ret.etag = etag;
+ if (etag != null && etag.length() > 0) ret.etag = etag;
String cacheControl = headers.getCacheControl();
if (cacheControl != null) {