mate-desktop / mate-calc

Calculator for MATE
http://www.mate-desktop.org
GNU General Public License v2.0
40 stars 33 forks source link

Fix invalid memory access with invalid powers #227

Closed cwendling closed 2 months ago

cwendling commented 2 months ago

The ParseNode's value must be valid to pass to free(), as it's done unconditionally if the expression is invalid. However, for some functions a shortuct was taken avoiding duplicating memory. This was OK in case the expression is valid because the evaluation function would convert it and set the pointer back to NULL; but it's not OK if the expression is invalid as the evaluation doesn't happen and the pointer is not reset before being freed.

Fixes #226.

lukefromdc commented 2 months ago

I will test thus when I get home later today. Memory management bugs are good to prioritize so I will get on this.

lukefromdc commented 2 months ago

I saw we have another travis "gem" issue, which affects Fedora because that's where we deploy from.

Install deployment dependencies

You have already activated uri 0.13.0, but your Gemfile requires uri 0.13.1. Since uri is a default gem, you can either remove your dependency on it or try updating to a newer version of bundler that supports uri as a default gem. (Gem::LoadError)

failed to deploy

No effect on this PR, but again this means I cannot do releases unless someone tells me how to fix it or fixes it themselves.

lukefromdc commented 2 months ago

Merged, this is simple enough and needed. Merits a release to get this to distros but I cannot do one with the Travis issue which I do not know how to fix