Avoid memset(NULL, 0, 0); introduced by bbf1aa.

This triggers warnings on some platforms.
diff --git a/pb_decode.c b/pb_decode.c
index 7c83f0f..27c89c4 100644
--- a/pb_decode.c
+++ b/pb_decode.c
@@ -998,14 +998,13 @@
     const uint32_t allbits = ~(uint32_t)0;
     pb_field_iter_t iter;
 
-    /* Return value ignored, as empty message types will be correctly handled by
-     * pb_field_iter_find() anyway. */
-    (void)pb_field_iter_begin(&iter, fields, dest_struct);
-
-    if ((flags & PB_DECODE_NOINIT) == 0)
+    if (pb_field_iter_begin(&iter, fields, dest_struct))
     {
-        if (!pb_message_set_to_defaults(&iter))
-            PB_RETURN_ERROR(stream, "failed to set defaults");
+        if ((flags & PB_DECODE_NOINIT) == 0)
+        {
+            if (!pb_message_set_to_defaults(&iter))
+                PB_RETURN_ERROR(stream, "failed to set defaults");
+        }
     }
 
     while (stream->bytes_left)