That fixes it Vasilij! Thanks a lot.

Felix, can you get this fix upstream? These steps worked for me:

1005 klm@kth ~/.c/c/simple-sha1  ➤ wget
https://raw.githubusercontent.com/clibs/sha1/master/sha1.h
1005 klm@kth ~/.c/c/simple-sha1  ➤ mv sha1.h.1 sha1.h
1005 klm@kth ~/.c/c/simple-sha1  ➤ wget
https://raw.githubusercontent.com/clibs/sha1/master/sha1.c
1005 klm@kth ~/.c/c/simple-sha1  ➤ mv sha1.c sha1-base.c
1005 klm@kth ~/.c/c/simple-sha1  ➤ mg simple-sha1.scm # edit to look like
this:
1009 klm@kth ~/.c/c/simple-sha1  ➤ git diff -U0 simple-sha1.scm
diff --git a/simple-sha1.scm b/simple-sha1.scm
index 2289bb1..3991eb3 100644
--- a/simple-sha1.scm
+++ b/simple-sha1.scm
@@ -23 +23 @@
-(define finish (foreign-lambda void "SHA1Final" c-pointer scheme-pointer))
+(define finish (foreign-lambda void "SHA1Final" scheme-pointer c-pointer))
@@ -40 +40 @@
-    (finish ctxt digest)
+    (finish digest ctxt)
@@ -76 +76 @@
-        (finish ctxt digest)
+        (finish digest ctxt)


Thanks, everyone :-)
K.

On Sun, Jun 2, 2019 at 6:13 PM Vasilij Schneidermann <m...@vasilij.de>
wrote:

> Hello Kristian,
>
> I cannot reproduce the bug if I use sha1-base.c directly with a C
> program that feeds small chunks instead of doing it in one go.  florz
> pointed out a dodgy piece of code in the SHA1Update function, I've
> updated it to the latest version found on GitHub [1] and the bug went
> away.
>
> You'll also want to update the sha1 egg while you're at it.  Peter Bex
> pointed out it's using the same sha1-base.c file, the fix should apply
> for it as well.
>
> Vasilij
>
> [1]: https://raw.githubusercontent.com/clibs/sha1/master/sha1.c
>
_______________________________________________
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to