Changeset 654b7db in mainline


Ignore:
Timestamp:
2007-12-23T20:15:09Z (16 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a55d5f9f
Parents:
36d852c
Message:

Release the IPC_M_DATA_WRITE buffer even if the write is refused by the
recipient.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/ipc/sysipc.c

    r36d852c r654b7db  
    237237                }
    238238        } else if (IPC_GET_METHOD(*olddata) == IPC_M_DATA_WRITE) {
     239                ASSERT(answer->buffer);
    239240                if (!IPC_GET_RETVAL(answer->data)) {
    240241                        int rc;
     
    242243                        uintptr_t size;
    243244
    244                         ASSERT(answer->buffer);
    245 
    246245                        dst = IPC_GET_ARG1(answer->data);
    247246                        size = IPC_GET_ARG3(answer->data);
     
    250249                        if (rc != 0)
    251250                                IPC_SET_RETVAL(answer->data, rc);
    252                         free(answer->buffer);
    253                         answer->buffer = NULL;
    254                 }
     251                }
     252                free(answer->buffer);
     253                answer->buffer = NULL;
    255254        }
    256255        return 0;
Note: See TracChangeset for help on using the changeset viewer.