Index: generic/nsfPointer.c =================================================================== diff -u -r0de05aaed50fced1cd80a9408560a38fb2454bcf -r37c87756387c17e0f2f43634c0d452a91f91c844 --- generic/nsfPointer.c (.../nsfPointer.c) (revision 0de05aaed50fced1cd80a9408560a38fb2454bcf) +++ generic/nsfPointer.c (.../nsfPointer.c) (revision 37c87756387c17e0f2f43634c0d452a91f91c844) @@ -59,7 +59,7 @@ *---------------------------------------------------------------------- */ int -Nsf_PointerAdd(Tcl_Interp *interp, char *buffer, const char *typeName, void *valuePtr) { +Nsf_PointerAdd(Tcl_Interp *interp, char *buffer, size_t size, const char *typeName, void *valuePtr) { int *counterPtr; nonnull_assert(interp != NULL); @@ -69,15 +69,15 @@ counterPtr = Nsf_PointerTypeLookup(interp, typeName); if (counterPtr != NULL) { - Tcl_DString ds, *dsPtr = &ds; + Tcl_DString ds, *dsPtr = &ds; Tcl_HashEntry *hPtr; - int isNew; + int isNew; Tcl_DStringInit(dsPtr); Tcl_DStringAppend(dsPtr, typeName, -1); Tcl_DStringAppend(dsPtr, ":%d", 3); NsfMutexLock(&pointerMutex); - sprintf(buffer, Tcl_DStringValue(dsPtr), (*counterPtr)++); + snprintf(buffer, size, Tcl_DStringValue(dsPtr), (*counterPtr)++); hPtr = Tcl_CreateHashEntry(pointerHashTablePtr, buffer, &isNew); NsfMutexUnlock(&pointerMutex); Tcl_SetHashValue(hPtr, valuePtr);