Fix for #4553
[oweals/gnunet.git] / src / fs / fs_uri.c
index 883e4b84a69e3e2a79b6128c0fc45acb97b8531b..12cae6b64484d592c82575643c934200802604b9 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     (C) 2003--2014 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2003--2014 GNUnet e.V.
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
@@ -14,8 +14,8 @@
 
      You should have received a copy of the GNU General Public License
      along with GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
+     Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+     Boston, MA 02110-1301, USA.
 */
 
 /**
@@ -272,7 +272,6 @@ uri_ksk_parse (const char *s,
   char *dup;
   int saw_quote;
 
-  GNUNET_assert (NULL != s);
   slen = strlen (s);
   pos = strlen (GNUNET_FS_URI_KSK_PREFIX);
   if ((slen <= pos) || (0 != strncmp (s, GNUNET_FS_URI_KSK_PREFIX, pos)))
@@ -363,7 +362,6 @@ uri_sks_parse (const char *s,
   size_t pos;
   char *end;
 
-  GNUNET_assert (s != NULL);
   pos = strlen (GNUNET_FS_URI_SKS_PREFIX);
   if ((strlen (s) <= pos) || (0 != strncmp (s, GNUNET_FS_URI_SKS_PREFIX, pos)))
     return NULL;                /* not an SKS URI */
@@ -408,9 +406,6 @@ uri_chk_parse (const char *s,
   char h1[sizeof (struct GNUNET_CRYPTO_HashAsciiEncoded)];
   char h2[sizeof (struct GNUNET_CRYPTO_HashAsciiEncoded)];
 
-  if (NULL == s)
-    return NULL;
-  GNUNET_assert (s != NULL);
   slen = strlen (s);
   pos = strlen (GNUNET_FS_URI_CHK_PREFIX);
   if ((slen < pos + 2 * sizeof (struct GNUNET_CRYPTO_HashAsciiEncoded) + 1) ||
@@ -629,6 +624,13 @@ GNUNET_FS_uri_parse (const char *uri,
   struct GNUNET_FS_Uri *ret;
   char *msg;
 
+  if (NULL == uri)
+  {
+    GNUNET_break (0);
+    if (NULL != emsg)
+      *emsg = GNUNET_strdup (_("invalid argument"));
+    return NULL;
+  }
   if (NULL == emsg)
     emsg = &msg;
   *emsg = NULL;