No need to check for NULL argument to free().
diff --git a/gzread.c b/gzread.c
index ebf2c18..3811157 100644
--- a/gzread.c
+++ b/gzread.c
@@ -95,10 +95,8 @@
         state->in = (unsigned char *)malloc(state->want);
         state->out = (unsigned char *)malloc(state->want << 1);
         if (state->in == NULL || state->out == NULL) {
-            if (state->out != NULL)
-                free(state->out);
-            if (state->in != NULL)
-                free(state->in);
+            free(state->out);
+            free(state->in);
             gz_error(state, Z_MEM_ERROR, "out of memory");
             return -1;
         }