Code

core/data: Make string and binary data not constant.
[sysdb.git] / src / utils / unixsock.c
index da992c94b51601024bc03e2988ca9ff8d7a1e9d8..9a5c3fab8c91de6c510a99d8740e4ae2301e0a01 100644 (file)
@@ -113,7 +113,7 @@ sdb_unixsock_parse_cell(char *string, int type, sdb_data_t *data)
                case SDB_TYPE_BINARY:
                        /* we don't support any binary information containing 0-bytes */
                        data->data.binary.length = strlen(string);
-                       data->data.binary.datum = (const unsigned char *)string;
+                       data->data.binary.datum = (unsigned char *)string;
                        break;
                default:
                        sdb_log(SDB_LOG_ERR, "unixsock: Unexpected type %i while "
@@ -320,7 +320,7 @@ sdb_unixsock_client_recv(sdb_unixsock_client_t *client,
        buffer[buflen - 1] = '\0';
 
        buflen = strlen(buffer);
-       while ((buffer[buflen - 1] == '\n') || (buffer[buflen - 1] == '\r')) {
+       while (buflen && ((buffer[buflen - 1] == '\n') || (buffer[buflen - 1] == '\r'))) {
                buffer[buflen - 1] = '\0';
                --buflen;
        }