*s = 0;
- if (attr->first != NULL) {
- at = attr->first->data;
- *s = *(char*)at->data;
+ if (attr->first == NULL) {
+ ret = ERR_BADREPLY;
+ goto end;
+ }
+ at = attr->first->data;
+ if (at->size != 1) {
+ ret = ERR_BADREPLY;
+ goto end;
}
+ *s = *(char*)at->data;
end:
for (ln = attr->first; ln != NULL; ln = ln->next) {
at = ln->data;
aq = at->data;
+ if (at->size == 0) {
+ ret = ERR_BADREPLY;
+ goto end;
+ }
if (aq->port <= sa->ports)
ports[aq->port - 1] = aq->prio;
}