bugfix in cmac calculation example
authorAsfak Rahman <asfak.rahman@stoneridge.com>
Fri, 21 Feb 2020 07:41:29 +0000 (09:41 +0200)
committerTomas Mraz <tmraz@fedoraproject.org>
Wed, 26 Feb 2020 16:21:08 +0000 (17:21 +0100)
The example never executes code inside of the while loop, as read()
returns bigger number than 0. Thus the end result is wrong.

CLA: trivial

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/11143)

doc/man3/EVP_MAC.pod

index 522bda0b45d69fac0ea2a002a5e5e2bcaa56b24c..85025a20f835304617b95e7d223376791510a774 100644 (file)
@@ -331,7 +331,7 @@ EVP_MAC_do_all_provided() returns nothing at all.
       if (!EVP_MAC_init(ctx))
           goto err;
 
-      while ( (read_l = read(STDIN_FILENO, buf, sizeof(buf))) < 0) {
+      while ( (read_l = read(STDIN_FILENO, buf, sizeof(buf))) > 0) {
           if (!EVP_MAC_update(ctx, buf, read_l))
               goto err;
       }
@@ -361,7 +361,7 @@ look like this:
 
   $ MY_MAC=cmac MY_KEY=secret0123456789 MY_MAC_CIPHER=aes-128-cbc \
     LD_LIBRARY_PATH=. ./foo < foo.c
-  Result: ECCAAFF041B22A2299EB90A1B53B6D45
+  Result: C5C06683CD9DDEF904D754505C560A4E
 
 (in this example, that program was stored in F<foo.c> and compiled to
 F<./foo>)