]> granicus.if.org Git - neomutt/commitdiff
libemail: fix url code for degenerate cases
authorRichard Russon <rich@flatcap.org>
Mon, 29 Apr 2019 13:57:30 +0000 (14:57 +0100)
committerRichard Russon <rich@flatcap.org>
Tue, 30 Apr 2019 10:22:04 +0000 (11:22 +0100)
email/url.c

index 4f29b54e22926426d6d7b5af38bc04ca6609efe5..02b0676685a405d3197cb7d02af552640717319e 100644 (file)
@@ -316,6 +316,9 @@ void url_pct_encode(char *buf, size_t buflen, const char *src)
 {
   static const char *alph = "0123456789ABCDEF";
 
+  if (!buf)
+    return;
+
   *buf = '\0';
   buflen--;
   while (src && *src && (buflen != 0))
@@ -348,6 +351,8 @@ void url_pct_encode(char *buf, size_t buflen, const char *src)
  */
 int url_tobuffer(struct Url *u, struct Buffer *buf, int flags)
 {
+  if (!u || !buf)
+    return -1;
   if (u->scheme == U_UNKNOWN)
     return -1;
 
@@ -393,6 +398,9 @@ int url_tobuffer(struct Url *u, struct Buffer *buf, int flags)
  */
 int url_tostring(struct Url *u, char *dest, size_t len, int flags)
 {
+  if (!u || !dest)
+    return -1;
+
   struct Buffer *dest_buf = mutt_buffer_pool_get();
 
   int retval = url_tobuffer(u, dest_buf, flags);