2011-05-22 20:38:02 +04:00
|
|
|
/* Any copyright is dedicated to the Public Domain.
|
|
|
|
* http://creativecommons.org/publicdomain/zero/1.0/
|
|
|
|
*/
|
|
|
|
|
|
|
|
const Cc = Components.classes;
|
|
|
|
const Ci = Components.interfaces;
|
2014-10-25 02:06:16 +04:00
|
|
|
const Cu = Components.utils;
|
|
|
|
Cu.import("resource://gre/modules/Services.jsm");
|
2011-05-22 20:38:02 +04:00
|
|
|
|
|
|
|
// Check that we don't crash on reading a directory entry signature
|
|
|
|
var ios = Cc["@mozilla.org/network/io-service;1"].
|
|
|
|
getService(Ci.nsIIOService);
|
|
|
|
|
|
|
|
function run_test() {
|
|
|
|
var file = do_get_file("data/test_bug658093.zip");
|
|
|
|
var spec = "jar:" + ios.newFileURI(file).spec + "!/0000";
|
2014-10-25 02:06:16 +04:00
|
|
|
var channel = ios.newChannel2(spec,
|
|
|
|
null,
|
|
|
|
null,
|
|
|
|
null, // aLoadingNode
|
|
|
|
Services.scriptSecurityManager.getSystemPrincipal(),
|
|
|
|
null, // aTriggeringPrincipal
|
|
|
|
Ci.nsILoadInfo.SEC_NORMAL,
|
|
|
|
Ci.nsIContentPolicy.TYPE_OTHER);
|
2011-05-22 20:38:02 +04:00
|
|
|
var failed = false;
|
|
|
|
try {
|
|
|
|
var stream = channel.open();
|
|
|
|
} catch (e) {
|
|
|
|
failed = true;
|
|
|
|
}
|
|
|
|
do_check_true(failed);
|
|
|
|
}
|