Fix missing error checking in gcm
diff --git a/library/gcm.c b/library/gcm.c
index 8950360..3e1bc77 100644
--- a/library/gcm.c
+++ b/library/gcm.c
@@ -439,11 +439,17 @@
                       const unsigned char *input,
                       unsigned char *output )
 {
+    int ret;
     unsigned char check_tag[16];
     size_t i;
     int diff;
 
-    gcm_crypt_and_tag( ctx, GCM_DECRYPT, length, iv, iv_len, add, add_len, input, output, tag_len, check_tag );
+    if( ( ret = gcm_crypt_and_tag( ctx, GCM_DECRYPT, length,
+                                   iv, iv_len, add, add_len,
+                                   input, output, tag_len, check_tag ) ) != 0 )
+    {
+        return( ret );
+    }
 
     /* Check tag in "constant-time" */
     for( diff = 0, i = 0; i < tag_len; i++ )