Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 544a7f7a authored by Hong-Mei Li's avatar Hong-Mei Li
Browse files

libsysutils: fix null pointer and memory leak issue



In SocketClient::quoteArg function
1. Fix potential null pointer accessing issue
2. Fix potential memory leak introduced by realloc fail

Change-Id: I1ca0f9089290d43452e9a71428244545f4ed866b
Signed-off-by: default avatarHong-Mei Li <a21834@motorola.com>
parent f5562cb6
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -112,6 +112,12 @@ char *SocketClient::quoteArg(const char *arg) {
    char *result = (char *)malloc(len * 2 + 3);
    char *current = result;
    const char *end = arg + len;
    char *oldresult;

    if(result == NULL) {
        SLOGW("malloc error (%s)", strerror(errno));
        return NULL;
    }

    *(current++) = '"';
    while (arg < end) {
@@ -125,8 +131,9 @@ char *SocketClient::quoteArg(const char *arg) {
    }
    *(current++) = '"';
    *(current++) = '\0';
    oldresult = result; // save pointer in case realloc fails
    result = (char *)realloc(result, current-result);
    return result;
    return result ? result : oldresult;
}