diff options
author | Daniel Atallah <datallah@pidgin.im> | 2009-05-02 19:21:11 +0000 |
---|---|---|
committer | Daniel Atallah <datallah@pidgin.im> | 2009-05-02 19:21:11 +0000 |
commit | 1651bc33d3da082ec6e4b1323f5b20991327fe47 (patch) | |
tree | d76ea2e3659e721096ab0b1d58a6875484da0525 | |
parent | 61894d6ce00bd846c07ae5aae456538f4ca32d31 (diff) | |
download | pidgin-1651bc33d3da082ec6e4b1323f5b20991327fe47.tar.gz |
Make sure that the chat room name is NUL-terminated when it is truncated or
exactly 128 chars.
This came out of the veracode analysis.
-rw-r--r-- | libpurple/protocols/oscar/family_oservice.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libpurple/protocols/oscar/family_oservice.c b/libpurple/protocols/oscar/family_oservice.c index 746f3b28a6..d7ccd121e0 100644 --- a/libpurple/protocols/oscar/family_oservice.c +++ b/libpurple/protocols/oscar/family_oservice.c @@ -151,7 +151,8 @@ aim_chat_join(OscarData *od, guint16 exchange, const char *roomname, guint16 ins memset(&csi, 0, sizeof(csi)); csi.exchange = exchange; - strncpy(csi.name, roomname, sizeof(csi.name)); + strncpy(csi.name, roomname, sizeof(csi.name) - 1); + csi.name[sizeof(csi.name) - 1] = '\0'; csi.instance = instance; /* |