From b721d26fb85cb8615cca675dfd2516e162bf3d18 Mon Sep 17 00:00:00 2001 From: zimoch Date: Wed, 8 Apr 2015 09:35:00 +0000 Subject: [PATCH] avoid buffer overflow --- src/StreamEpics.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/StreamEpics.cc b/src/StreamEpics.cc index c1eadd6..6e41726 100644 --- a/src/StreamEpics.cc +++ b/src/StreamEpics.cc @@ -965,13 +965,13 @@ getFieldAddress(const char* fieldname, StreamBuffer& address) else { // FIELD in this record or VAL in other record - char fullname[PVNAME_SZ + 1]; - sprintf(fullname, "%s.%s", name(), fieldname); - if (dbNameToAddr(fullname, &dbaddr) != OK) + StreamBuffer fullname; + fullname.print("%s.%s", name(), fieldname); + if (dbNameToAddr(fullname(), &dbaddr) != OK) { // VAL in other record - sprintf(fullname, "%s.VAL", fieldname); - if (dbNameToAddr(fullname, &dbaddr) != OK) return false; + fullname.clear().print("%s.VAL", fieldname); + if (dbNameToAddr(fullname(), &dbaddr) != OK) return false; } } address.append(&dbaddr, sizeof(dbaddr));