Subversion Repositories HelenOS

Rev

Rev 2662 | Rev 2677 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2662 Rev 2676
Line 270... Line 270...
270
            uintptr_t dst;
270
            uintptr_t dst;
271
            uintptr_t size;
271
            uintptr_t size;
272
            uintptr_t max_size;
272
            uintptr_t max_size;
273
 
273
 
274
            dst = IPC_GET_ARG1(answer->data);
274
            dst = IPC_GET_ARG1(answer->data);
275
            size = IPC_GET_ARG3(answer->data);
275
            size = IPC_GET_ARG2(answer->data);
276
            max_size = IPC_GET_ARG3(*olddata);
276
            max_size = IPC_GET_ARG2(*olddata);
277
 
277
 
278
            if (size <= max_size) {
278
            if (size <= max_size) {
279
                rc = copy_to_uspace((void *) dst,
279
                rc = copy_to_uspace((void *) dst,
280
                    answer->buffer, size);
280
                    answer->buffer, size);
281
                if (rc)
281
                if (rc)
Line 323... Line 323...
323
        size = IPC_GET_ARG2(call->data);
323
        size = IPC_GET_ARG2(call->data);
324
        if ((size <= 0 || (size > DATA_XFER_LIMIT)))
324
        if ((size <= 0 || (size > DATA_XFER_LIMIT)))
325
            return ELIMIT;
325
            return ELIMIT;
326
        break;
326
        break;
327
    case IPC_M_DATA_WRITE:
327
    case IPC_M_DATA_WRITE:
328
        src = IPC_GET_ARG2(call->data);
328
        src = IPC_GET_ARG1(call->data);
329
        size = IPC_GET_ARG3(call->data);
329
        size = IPC_GET_ARG2(call->data);
330
       
330
       
331
        if ((size <= 0) || (size > DATA_XFER_LIMIT))
331
        if ((size <= 0) || (size > DATA_XFER_LIMIT))
332
            return ELIMIT;
332
            return ELIMIT;
333
       
333
       
334
        call->buffer = (uint8_t *) malloc(size, 0);
334
        call->buffer = (uint8_t *) malloc(size, 0);