Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/ipc/ops/conctmeto.c

    r48bcf49 r09d01f2  
    4242static int request_preprocess(call_t *call, phone_t *phone)
    4343{
    44         cap_handle_t phone_handle = phone_alloc(TASK);
     44        cap_handle_t phone_handle;
     45        int rc = phone_alloc(TASK, &phone_handle);
    4546
    46         /* Remember the phone capability or the error. */
    47         call->priv = phone_handle;
    48         if (phone_handle < 0)
    49                 return phone_handle;
     47        /* Remember the phone capability or that an error occured. */
     48        call->priv = (rc == EOK) ? phone_handle : -1;
     49
     50        if (rc != EOK) {
     51                return rc;
     52        }
    5053
    5154        /* Set arg5 for server */
     
    6164{
    6265        cap_handle_t phone_handle = (cap_handle_t) call->priv;
     66
     67        if (phone_handle < 0) {
     68                return EOK;
     69        }
     70
    6371        phone_dealloc(phone_handle);
    6472        /* Hand over reference from ARG5 to phone->kobject */
Note: See TracChangeset for help on using the changeset viewer.