 if (!username || !password) 
 if (username == null || !password) 
    _decryptLogins : function (logins) {        var result = [], userCanceled = false;        for each (var login in logins) {            var username, password;            [username, userCanceled] =                this._decrypt(login.wrappedJSObject.encryptedUsername);            if (userCanceled)                break;            [password, userCanceled] =                this._decrypt(login.wrappedJSObject.encryptedPassword);            // Probably can't hit this case, but for completeness...            if (userCanceled)                break;            // If decryption failed (corrupt entry?) skip it.            // XXX remove it from the original list entirely?            if (!username || !password)                continue;            // We could set the decrypted values on a copy of the object, to            // try to prevent the decrypted values from sitting around in            // memory if they're not needed. But thanks to GC that's happening            // anyway, so meh.            login.username = username;            login.password = password;            // Force any old mime64-obscured entries to be reencrypted.            if (login.wrappedJSObject.encryptedUsername &&                login.wrappedJSObject.encryptedUsername.charAt(0) == '~')                login.wrappedJSObject.encryptedUsername = null;            if (login.wrappedJSObject.encryptedPassword &&                login.wrappedJSObject.encryptedPassword.charAt(0) == '~')                login.wrappedJSObject.encryptedPassword = null;            result.push(login);        }        return [result, userCanceled];    },
5459	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5459/6ccd2aa9c9d8760e31362abc1f3a246dd9a8724f/storage-Legacy.js/buggy/toolkit/components/passwordmgr/src/storage-Legacy.js