NEWS.stable: log cherry-pick [e446f25]->[c092018] relocatable-shell: Update suggested...
[gnulib.git] / tests / test-base64.c
index 06f0b02..1f73013 100644 (file)
@@ -1,5 +1,5 @@
 /* Self tests for base64.
-   Copyright (C) 2004, 2008, 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2008-2014 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software: you can redistribute it and/or modify
@@ -149,6 +149,7 @@ main (void)
   ASSERT (ok);
   ASSERT (len == 7);
   ASSERT (memcmp (out, "abcdefg", len) == 0);
+  free (p);
 
   {
     struct base64_decode_context ctx;
@@ -160,6 +161,7 @@ main (void)
     ASSERT (ok);
     ASSERT (len == strlen (in));
     ASSERT (memcmp (p, in, len) == 0);
+    free (p);
   }
 
   {
@@ -170,25 +172,30 @@ main (void)
     ASSERT (ok);
     ASSERT (len == 9);
     ASSERT (memcmp (p, "abcdefghi", len) == 0);
+    free (p);
 
     base64_decode_ctx_init (&ctx);
 
     ok = base64_decode_alloc_ctx (&ctx, "YW\n", 3, &p, &len);
     ASSERT (ok);
     ASSERT (len == 0);
+    free (p);
 
     ok = base64_decode_alloc_ctx (&ctx, "JjZGVmZ2", 8, &p, &len);
     ASSERT (ok);
     ASSERT (len == 6);
     ASSERT (memcmp (p, "abcdef", len) == 0);
+    free (p);
 
     ok = base64_decode_alloc_ctx (&ctx, "hp", 2, &p, &len);
     ASSERT (ok);
-    ASSERT (len == 2);
-    /* Actually this looks buggy.  Shouldn't output be 'ghi'? */
-    ASSERT (memcmp (p, "gh", len) == 0);
+    ASSERT (len == 3);
+    ASSERT (memcmp (p, "ghi", len) == 0);
+    free (p);
+
     ok = base64_decode_alloc_ctx (&ctx, "", 0, &p, &len);
     ASSERT (ok);
+    free (p);
   }
 
   {
@@ -200,6 +207,7 @@ main (void)
     ok = base64_decode_alloc_ctx (&ctx, newlineb64, strlen (newlineb64), &p, &len);
     ASSERT (ok);
     ASSERT (len == 0);
+    free (p);
   }
 
   ok = base64_decode_alloc_ctx (NULL, " ! ", 3, &p, &len);