src/java.base/share/native/libzip/Deflater.c
changeset 48045 d66e420cc482
parent 47216 71c04702a3d5
child 49834 99644c75eaed
--- a/src/java.base/share/native/libzip/Deflater.c	Fri Dec 01 17:06:09 2017 -0800
+++ b/src/java.base/share/native/libzip/Deflater.c	Fri Dec 01 22:04:03 2017 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -164,17 +164,14 @@
         res = deflateParams(strm, level, strategy);
         (*env)->ReleasePrimitiveArrayCritical(env, b, out_buf, 0);
         (*env)->ReleasePrimitiveArrayCritical(env, this_buf, in_buf, 0);
-
         switch (res) {
         case Z_OK:
             (*env)->SetBooleanField(env, this, setParamsID, JNI_FALSE);
+        case Z_BUF_ERROR:
             this_off += this_len - strm->avail_in;
             (*env)->SetIntField(env, this, offID, this_off);
             (*env)->SetIntField(env, this, lenID, strm->avail_in);
             return (jint) (len - strm->avail_out);
-        case Z_BUF_ERROR:
-            (*env)->SetBooleanField(env, this, setParamsID, JNI_FALSE);
-            return 0;
         default:
             JNU_ThrowInternalError(env, strm->msg);
             return 0;
@@ -203,19 +200,17 @@
         res = deflate(strm, finish ? Z_FINISH : flush);
         (*env)->ReleasePrimitiveArrayCritical(env, b, out_buf, 0);
         (*env)->ReleasePrimitiveArrayCritical(env, this_buf, in_buf, 0);
-
         switch (res) {
         case Z_STREAM_END:
             (*env)->SetBooleanField(env, this, finishedID, JNI_TRUE);
             /* fall through */
         case Z_OK:
+        case Z_BUF_ERROR:
             this_off += this_len - strm->avail_in;
             (*env)->SetIntField(env, this, offID, this_off);
             (*env)->SetIntField(env, this, lenID, strm->avail_in);
             return len - strm->avail_out;
-        case Z_BUF_ERROR:
-            return 0;
-            default:
+        default:
             JNU_ThrowInternalError(env, strm->msg);
             return 0;
         }