X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=door_daemon%2Fdoor_daemon.c;h=bddb28fc371209019d2a80421d47bed46718db1f;hb=715ff59d360fde630bd111d6fbf143690a52cd42;hp=ee936573bb0287a0f870f5eb6a216853165feada;hpb=fe1f0fe13e1f39697ccda24585d3441772830701;p=svn42.git diff --git a/door_daemon/door_daemon.c b/door_daemon/door_daemon.c index ee93657..bddb28f 100644 --- a/door_daemon/door_daemon.c +++ b/door_daemon/door_daemon.c @@ -6,8 +6,9 @@ * This file is part of door_daemon. * * door_daemon is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 3 as - * published by the Free Software Foundation. + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * any later version. * * door_daemon is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -110,7 +111,7 @@ int send_response(int fd, const char* response) int offset = 0; int ret; for(;;) { - ret = write(fd, &response[offset], strlen(response)); + ret = write(fd, &response[offset], len - offset); if(ret < 0) { if(errno != EINTR) return ret; @@ -430,7 +431,8 @@ int main_loop(int door_fd, int cmd_listen_fd) break; } - lst = lst->next; + if(lst) + lst = lst->next; } if(cmd_q && !cmd_q->sent)