char *cmd, *value, *ptr, *code;
isc_uint32_t num;
isc_boolean_t state = ISC_TRUE;
-#ifdef DIG_SIGCHASE
+#if defined(DIG_SIGCHASE) || defined(ISC_PLATFORM_USESIT)
size_t n;
#endif
lookup->edns = 0;
lookup->sit = state;
if (value != NULL) {
- strncpy(sitvalue, value,
- sizeof(sitvalue));
+ n = strlcpy(sitvalue, value,
+ sizeof(sitvalue));
+ if (n >= sizeof(sitvalue))
+ fatal("SIT data too large");
lookup->sitvalue = sitvalue;
} else
lookup->sitvalue = NULL;