X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Fflorian.git;a=blobdiff_plain;f=package%2Fwprobe%2Fsrc%2Fuser%2Fwprobe-lib.c;fp=package%2Fwprobe%2Fsrc%2Fuser%2Fwprobe-lib.c;h=7a5460bb00bfbc0b1bda673c03bc40ccae78fd76;hp=7ba67cfcb24be0d1272b3d7ee4fcfad9ed302971;hb=373b78cb28e086abe08d2f6d57f2f441fc5d862f;hpb=50d6e449b3a145cdfd1117eb040b4acf58faebe0 diff --git a/package/wprobe/src/user/wprobe-lib.c b/package/wprobe/src/user/wprobe-lib.c index 7ba67cfcb2..7a5460bb00 100644 --- a/package/wprobe/src/user/wprobe-lib.c +++ b/package/wprobe/src/user/wprobe-lib.c @@ -560,7 +560,9 @@ wprobe_msg_to_network(int socket, struct nl_msg *msg) mhdr.status = WPROBE_MSG_DATA; mhdr.len = buflen; wprobe_swap_msg_hdr(&mhdr); - write(socket, &mhdr, sizeof(mhdr)); + ret = write(socket, &mhdr, sizeof(mhdr)); + if (ret < 0) + goto out; memcpy(buf, nlh, buflen); nlh = buf; @@ -572,6 +574,8 @@ wprobe_msg_to_network(int socket, struct nl_msg *msg) swap_genlmsghdr(gnlh); swap_nlmsghdr(nlh); ret = write(socket, buf, buflen); + +out: free(buf); return ret;