From: Linus Nordberg Date: Wed, 28 Aug 2013 11:48:49 +0000 (+0200) Subject: Have radmsg_copy_attrs() return error in all error cases. X-Git-Tag: radsecproxy-1.6.5~1 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=radsecproxy.git;a=commitdiff_plain;h=43446949664ce2000fa6cd7c62687355c2c440e2 Have radmsg_copy_attrs() return error in all error cases. Also when copying of the first attribute fails. --- diff --git a/radmsg.c b/radmsg.c index 6e33990..7f6dd9d 100644 --- a/radmsg.c +++ b/radmsg.c @@ -106,9 +106,7 @@ struct tlv *radmsg_gettype(struct radmsg *msg, uint8_t type) { * If all attributes were copied successfully, the number of * attributes copied is returned. * - * If copying failed, a negative number is returned. The number - * returned is 0 minus the number of attributes successfully copied - * before the failure. */ + * If copying failed, a negative number is returned. */ int radmsg_copy_attrs(struct radmsg *dst, const struct radmsg *src, uint8_t type) @@ -119,7 +117,7 @@ int radmsg_copy_attrs(struct radmsg *dst, for (node = list_first(list); node; node = list_next(node)) { if (radmsg_add(dst, copytlv((struct tlv *) node->data)) != 1) { - n = -n; + n = -1; break; } n++;