ash: [EVAL] Fix use-after-free in dotrap/evalstring
authorDenys Vlasenko <vda.linux@googlemail.com>
Wed, 28 Sep 2016 21:02:57 +0000 (23:02 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Wed, 28 Sep 2016 21:02:57 +0000 (23:02 +0200)
commit8e2bc47d62d48687f681855d4b086c758ae745c4
tree5666b8f66ea374d7a7716df9eda2f184f0749914
parent7ee7c6fc20d3b94c257f829dece097ff339895ee
ash: [EVAL] Fix use-after-free in dotrap/evalstring

From upstream:

    [EVAL] Fix use-after-free in dotrap/evalstring

    The function dotrap calls evalstring using the stored trap string.
    If evalstring then unsets that exact trap string then we will end
    up using freed memory.

    This patch fixes it by making evalstring always duplicate the string
    before using it.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
shell/ash.c