Index: trunk/i386/libsaio/device_inject.c =================================================================== --- trunk/i386/libsaio/device_inject.c (revision 2177) +++ trunk/i386/libsaio/device_inject.c (revision 2178) @@ -171,7 +171,7 @@ string->length += device->length; if(!string->entries) - if((string->entries = (struct DevPropDevice**)malloc(sizeof(device)))== NULL) + if((string->entries = (struct DevPropDevice**)malloc(sizeof(device)*DEV_PROP_DEVICE_MAX_ENTRIES))== NULL) return 0; string->entries[string->numentries++] = (struct DevPropDevice*)malloc(sizeof(device)); Index: trunk/i386/libsaio/device_inject.h =================================================================== --- trunk/i386/libsaio/device_inject.h (revision 2177) +++ trunk/i386/libsaio/device_inject.h (revision 2178) @@ -12,6 +12,8 @@ #define DP_ADD_TEMP_VAL_DATA(dev, val) devprop_add_value(dev, (char*)val.name, (uint8_t*)val.data, val.size) #define MAX_PCI_DEV_PATHS 4 +#define DEV_PROP_DEVICE_MAX_ENTRIES 64 + extern struct DevPropString *string; extern uint8_t *stringdata; extern uint32_t stringlength;