X-Git-Url: http://git.onelab.eu/?p=libnl.git;a=blobdiff_plain;f=libnl-1.0-pre8-use-vasprintf-retval.patch;fp=libnl-1.0-pre8-use-vasprintf-retval.patch;h=75cb94b9901f587911415290a35b48c87949301e;hp=0000000000000000000000000000000000000000;hb=332c8b7561dcac7ac95cc0d07328b1cb22d780a6;hpb=eabdd897b75ecc1fac5e255229a899126085e57a diff --git a/libnl-1.0-pre8-use-vasprintf-retval.patch b/libnl-1.0-pre8-use-vasprintf-retval.patch new file mode 100644 index 0000000..75cb94b --- /dev/null +++ b/libnl-1.0-pre8-use-vasprintf-retval.patch @@ -0,0 +1,29 @@ +diff -up libnl-1.0-pre8/include/netlink-local.h.use-vasprintf-retval libnl-1.0-pre8/include/netlink-local.h +--- libnl-1.0-pre8/include/netlink-local.h.use-vasprintf-retval 2007-12-03 14:13:52.000000000 -0500 ++++ libnl-1.0-pre8/include/netlink-local.h 2007-12-03 14:15:26.000000000 -0500 +@@ -273,13 +273,18 @@ static inline void __dp_dump(struct nl_d + vfprintf(parms->dp_fd, fmt, args); + else if (parms->dp_buf || parms->dp_cb) { + char *buf = NULL; +- vasprintf(&buf, fmt, args); +- if (parms->dp_cb) +- parms->dp_cb(parms, buf); +- else +- strncat(parms->dp_buf, buf, +- parms->dp_buflen - strlen(parms->dp_buf) - 1); +- free(buf); ++ int ret; ++ ret = vasprintf(&buf, fmt, args); ++ if (ret >= 0) { ++ if (parms->dp_cb) ++ parms->dp_cb(parms, buf); ++ else ++ strncat(parms->dp_buf, buf, ++ parms->dp_buflen - strlen(parms->dp_buf) - 1); ++ free(buf); ++ } else { ++ // FIXME: indicate error somehow ++ } + } + } +