Fixed a crash in print_notice.
[openssl.git] / crypto / comp / c_rle.c
index efd366fa2239aa08594f50c3d3fe4a266164be55..41919613eec5a3b8f3815a3587f28d7cfa727490 100644 (file)
@@ -5,58 +5,59 @@
 #include <openssl/comp.h>
 
 static int rle_compress_block(COMP_CTX *ctx, unsigned char *out,
-       unsigned int olen, unsigned char *in, unsigned int ilen);
+                              unsigned int olen, unsigned char *in,
+                              unsigned int ilen);
 static int rle_expand_block(COMP_CTX *ctx, unsigned char *out,
-       unsigned int olen, unsigned char *in, unsigned int ilen);
-
-static COMP_METHOD rle_method={
-       NID_rle_compression,
-       LN_rle_compression,
-       NULL,
-       NULL,
-       rle_compress_block,
-       rle_expand_block,
-       NULL,
-       NULL,
-       };
+                            unsigned int olen, unsigned char *in,
+                            unsigned int ilen);
+
+static COMP_METHOD rle_method = {
+    NID_rle_compression,
+    LN_rle_compression,
+    NULL,
+    NULL,
+    rle_compress_block,
+    rle_expand_block,
+    NULL,
+    NULL,
+};
 
 COMP_METHOD *COMP_rle(void)
-       {
-       return(&rle_method);
-       }
+{
+    return (&rle_method);
+}
 
 static int rle_compress_block(COMP_CTX *ctx, unsigned char *out,
-            unsigned int olen, unsigned char *in, unsigned int ilen)
-       {
-       /* int i; */
+                              unsigned int olen, unsigned char *in,
+                              unsigned int ilen)
+{
+    if (ilen == 0)
+        return 0;
 
-       if (olen < (ilen+1))
-               {
-               /* ZZZZZZZZZZZZZZZZZZZZZZ */
-               return(-1);
-               }
+    if (olen <= ilen)
+        return -1;
 
-       *(out++)=0;
-       memcpy(out,in,ilen);
-       return(ilen+1);
-       }
+    *(out++) = 0;
+    memcpy(out, in, ilen);
+    return (ilen + 1);
+}
 
 static int rle_expand_block(COMP_CTX *ctx, unsigned char *out,
-            unsigned int olen, unsigned char *in, unsigned int ilen)
-       {
-       int i;
-
-       if (olen < (ilen-1))
-               {
-               /* ZZZZZZZZZZZZZZZZZZZZZZ */
-               return(-1);
-               }
-
-       i= *(in++);
-       if (i == 0)
-               {
-               memcpy(out,in,ilen-1);
-               }
-       return(ilen-1);
-       }
+                            unsigned int olen, unsigned char *in,
+                            unsigned int ilen)
+{
+    int i;
 
+    if (ilen == 0)
+        return 0;
+
+    if (olen < (ilen - 1))
+        return -1;
+
+    i = *(in++);
+    if (i != 0)
+        return -1;
+
+    memcpy(out, in, ilen - 1);
+    return (ilen - 1);
+}