Changeset e3c762cd in mainline for generic/src/ipc/irq.c
- Timestamp:
- 2006-05-05T11:59:19Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- de07bcf
- Parents:
- 22cf454d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
generic/src/ipc/irq.c
r22cf454d re3c762cd 48 48 #include <ipc/irq.h> 49 49 #include <atomic.h> 50 #include <syscall/copy.h> 50 51 51 52 typedef struct { … … 121 122 irq_code_t *code; 122 123 irq_cmd_t *ucmds; 124 int rc; 123 125 124 126 code = malloc(sizeof(*code), 0); 125 copy_from_uspace(code, ucode, sizeof(*code)); 127 rc = copy_from_uspace(code, ucode, sizeof(*code)); 128 if (rc != 0) { 129 free(code); 130 return NULL; 131 } 126 132 127 133 if (code->cmdcount > IRQ_MAX_PROG_SIZE) { … … 131 137 ucmds = code->cmds; 132 138 code->cmds = malloc(sizeof(code->cmds[0]) * (code->cmdcount), 0); 133 copy_from_uspace(code->cmds, ucmds, sizeof(code->cmds[0]) * (code->cmdcount)); 139 rc = copy_from_uspace(code->cmds, ucmds, sizeof(code->cmds[0]) * (code->cmdcount)); 140 if (rc != 0) { 141 free(code->cmds); 142 free(code); 143 return NULL; 144 } 134 145 135 146 return code;
Note:
See TracChangeset
for help on using the changeset viewer.