Skip to content

Release 3.1.0

Compare
Choose a tag to compare
@gavinhoward gavinhoward released this 06 Jul 17:55
· 1309 commits to master since this release

This is a production release that adjusts one behavior, fixes eight bugs, and improves manpages for FreeBSD. Because this release fixes bugs, users and package maintainers should update to this version as soon as possible.

The behavior that was adjusted was how code from the -e and -f arguments (and equivalents) were executed. They used to be executed as one big chunk, but in this release, they are now executed line-by-line.

The first bug fix in how output to stdout was handled in SIGINT. If a SIGINT came in, the stdout buffer was not correctly flushed. In fact, a clean-up function was not getting called. This release fixes that bug.

The second bug is in how dc handled input from stdin. This affected bc as well since it was a mishandling of the stdin buffer.

The third fixed bug was that bc and dc could abort() (in debug mode) when receiving a SIGTERM. This one was a race condition with pushing and popping items onto and out of vectors.

The fourth bug fixed was that bc could leave extra items on the stack and thus, not properly clean up some memory. (The memory would still get free()'ed, but it would not be free()'ed when it could have been.)

The next two bugs were bugs in bc's parser that caused crashes when executing the resulting code.

The last two bugs were crashes in dc that resulted from mishandling of strings.

The manpage improvement was done by switching from ronn to Pandoc to generate manpages. Pandoc generates much cleaner manpages and doesn't leave blank lines where they shouldn't be.

$ sha512sum bc-3.1.0.tar.xz
1858afe0c15bd518637cc7a34d0905042ea424f8398c85d97024ee0a397b15f549c8dfc1b8fe46c6ee9cdd38949de18e927951463cbbde007188809d8acd33cb  bc-3.1.0.tar.xz

$ sha256sum bc-3.1.0.tar.xz
73966d9e8627584f3d3498e12c42a7d3bfa01bfc0b14395a0822205d5611fd27  bc-3.1.0.tar.xz

$ stat -c '%s  %n'
209392  bc-3.1.0.tar.xz

$ sha512sum bc-3.1.0.tar.xz.sig
d0114e0ce0d6fd5379bf9d76d73001ccdc148554351dcc7512c8cbbab504580e5c0316fd7a7110d1a656a9ed98758c48085f61c97830c6e4a251302830670f68  bc-3.1.0.tar.xz.sig

$ sha256sum bc-3.1.0.tar.xz.sig
1a881b897f8039a0f0edfc2732bcd34f3f90ae7c35cf9e28a2edb8280aa343c0  bc-3.1.0.tar.xz.sig

$ stat -c '%s  %n'
662  bc-3.1.0.tar.xz.sig