Changeset e652d8c in mainline


Ignore:
Timestamp:
2023-07-14T14:24:56Z (11 months ago)
Author:
Vojtech Horky <vojtech.horky@…>
Branches:
ticket/834-toolchain-update
Children:
fcbf101
Parents:
eac3398
Message:

C++ lib: prevent use after free (hackish)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/cpp/src/future.cpp

    reac3398 re652d8c  
    8484    const char* future_error::what() const noexcept
    8585    {
    86         return code().message().c_str();
     86        /*
     87         * FIXME
     88         * Following code would be optimal but the message string is
     89         * actually destroyed before the function returns so we would
     90         * be returning a dangling pointer. No simple fix available, hence
     91         * we use the ugly hack.
     92         */
     93        //return code().message().c_str();
     94#define QUOTE_ARG(arg) #arg
     95        return "future_error, see " __FILE__ ":" QUOTE_ARG(__LINE__);
    8796    }
    8897}
Note: See TracChangeset for help on using the changeset viewer.