Author: dbkr
Date: 2007-02-04 16:34:02 +0000 (Sun, 04 Feb 2007)
New Revision: 11672

Modified:
   trunk/apps/Freemail/src/freemail/imap/IMAPHandler.java
Log:
Resolve #1088 (imap function login causes NPE without arguments) and same for 
other imap commands.


Modified: trunk/apps/Freemail/src/freemail/imap/IMAPHandler.java
===================================================================
--- trunk/apps/Freemail/src/freemail/imap/IMAPHandler.java      2007-02-04 
16:22:49 UTC (rev 11671)
+++ trunk/apps/Freemail/src/freemail/imap/IMAPHandler.java      2007-02-04 
16:34:02 UTC (rev 11672)
@@ -128,7 +128,11 @@
        }

        private void handle_login(IMAPMessage msg) {
-               if (msg.args.length < 2) return;
+               if (msg.args == null || msg.args.length < 2) {
+                       this.reply(msg, "BAD Not enough arguments");
+                       return;
+               }
+               
                if (AccountManager.authenticate(trimQuotes(msg.args[0]), 
trimQuotes(msg.args[1]))) {
                        this.inbox = new MessageBank(trimQuotes(msg.args[0]));

@@ -165,10 +169,10 @@
                        return;
                }

-               if (msg.args.length < 1) {
+               if (msg.args != null && msg.args.length < 1) {
                        refname = null;
                        mbname = null;
-               } else if (msg.args.length < 2) {
+               } else if (msg.args != null && msg.args.length < 2) {
                        refname = msg.args[0];
                        mbname = null;
                } else {
@@ -251,7 +255,7 @@
                        return;
                }

-               if (msg.args.length < 1) {
+               if (msg.args == null || msg.args.length < 1) {
                        this.reply(msg, "NO What mailbox?");
                        return;
                }
@@ -698,7 +702,7 @@
        }

        public void handle_store(IMAPMessage msg) {
-               if (msg.args.length < 2) {
+               if (msg.args == null || msg.args.length < 2) {
                        this.reply(msg, "BAD Not enough arguments");
                        return;
                }
@@ -859,7 +863,7 @@
                        return;
                }

-               if (msg.args.length < 2) {
+               if (msg.args == null || msg.args.length < 2) {
                        this.reply(msg, "BAD Not enough arguments");
                        return;
                }
@@ -932,7 +936,7 @@
                        return;
                }

-               if (msg.args.length < 1) {
+               if (msg.args == null || msg.args.length < 1) {
                        this.reply(msg, "NO Not enough arguments");
                        return;
                }
@@ -978,7 +982,7 @@
                        return;
                }

-               if (msg.args.length < 1) {
+               if (msg.args == null || msg.args.length < 1) {
                        this.reply(msg, "NO Not enough arguments");
                        return;
                }
@@ -1012,7 +1016,7 @@
                        return;
                }

-               if (msg.args.length < 2) {
+               if (msg.args == null || msg.args.length < 2) {
                        this.reply(msg, "NO Not enough arguments");
                        return;
                }
@@ -1068,7 +1072,7 @@
        }

        private void handle_append(IMAPMessage msg) {
-               if (msg.args.length < 3) {
+               if (msg.args == null || msg.args.length < 3) {
                        this.reply(msg, "NO Not enough arguments");
                        return;
                }


Reply via email to