Unlikely to ever happen, since it would imply a very large string, but
better safe than sorry.
---------------------------- adapted for newlib branch
. now uses 'xmalloc' vs. unchecked stdlib 'malloc'
. the member 'need' was removed from 'format_node'
Signed-off-by: Jim Warner <james.warner@comcast.net>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <limits.h>
#include <sys/types.h>
return _("AIX field descriptor processing bug");
}
} else {
- int len;
+ size_t len;
len = strcspn(walk, "%");
memcpy(buf,walk,len);
if(0){
buf[len] = '\0';
walk += len;
fnode = xmalloc(sizeof(format_node));
- fnode->width = len;
+ fnode->width = len < INT_MAX ? len : INT_MAX;
fnode->name = strdup(buf);
fnode->pr = NULL; /* checked for */
fnode->vendor = AIX;