if (local_only)
return SANE_STATUS_NO_MEM;
- if (device_info_ptr == NULL) {
- device_info_ptr = malloc(sizeof(SANE_Device*) * 2);
- device_info_ptr[0] = malloc(sizeof(SANE_Device));
- }
+ if (device_info_ptr != NULL)
+ return SANE_STATUS_GOOD;
+
+ device_info_ptr = malloc(sizeof(SANE_Device*) * 2);
+ if (device_info_ptr == NULL)
+ return SANE_STATUS_NO_MEM;
+
+ device_info_ptr[0] = malloc(sizeof(SANE_Device));
+ if (device_info_ptr[0] == NULL)
+ return SANE_STATUS_NO_MEM;
device_info_ptr[0]->name = NAME;
device_info_ptr[0]->vendor = VENDOR;