From 141902b86d96a6e11b0a97258e03fe1c39eaebe1 Mon Sep 17 00:00:00 2001 From: jrandom <jrandom> Date: Tue, 4 May 2004 01:35:09 +0000 Subject: [PATCH] parseParams throws exception on bad formatting, and its perfectly valid to have params with 0 values (e.g. DEST GENERATE\n) --- apps/sam/java/src/net/i2p/sam/SAMUtils.java | 13 +++++-------- apps/sam/java/src/net/i2p/sam/SAMv1Handler.java | 2 +- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/apps/sam/java/src/net/i2p/sam/SAMUtils.java b/apps/sam/java/src/net/i2p/sam/SAMUtils.java index 0ae4407641..96983f1f73 100644 --- a/apps/sam/java/src/net/i2p/sam/SAMUtils.java +++ b/apps/sam/java/src/net/i2p/sam/SAMUtils.java @@ -108,9 +108,10 @@ public class SAMUtils { * * @param tok A StringTokenizer pointing to the SAM parameters * - * @return Properties with the parsed SAM params, or null if none is found + * @throws SAMException if the data was formatted incorrectly + * @return Properties with the parsed SAM params */ - public static Properties parseParams(StringTokenizer tok) { + public static Properties parseParams(StringTokenizer tok) throws SAMException { int pos, nprops = 0, ntoks = tok.countTokens(); String token, param, value; Properties props = new Properties(); @@ -121,7 +122,7 @@ public class SAMUtils { pos = token.indexOf("="); if (pos == -1) { _log.debug("Error in params format"); - return null; + throw new SAMException("Bad formatting for param [" + token + "]"); } param = token.substring(0, pos); value = token.substring(pos + 1); @@ -134,11 +135,7 @@ public class SAMUtils { _log.debug("Parsed properties: " + dumpProperties(props)); } - if (nprops != 0) { - return props; - } else { - return null; - } + return props; } /* Dump a Properties object in an human-readable form */ diff --git a/apps/sam/java/src/net/i2p/sam/SAMv1Handler.java b/apps/sam/java/src/net/i2p/sam/SAMv1Handler.java index b9eea3d353..e90b0f038a 100644 --- a/apps/sam/java/src/net/i2p/sam/SAMv1Handler.java +++ b/apps/sam/java/src/net/i2p/sam/SAMv1Handler.java @@ -281,7 +281,7 @@ public class SAMv1Handler extends SAMHandler implements SAMRawReceiver, SAMDatag private boolean execDestMessage(String opcode, Properties props) { if (opcode.equals("GENERATE")) { - if (props != null) { + if (props.size() > 0) { _log.debug("Properties specified in DEST GENERATE message"); return false; } -- GitLab