changeset 22189:6b84fac921eb

More strncat() misuses. Reported by Sascha Sommer
author rtogni
date Sun, 11 Feb 2007 18:00:55 +0000
parents b9fa8b0ddab9
children 56aac8642cf6
files stream/freesdp/parser.c
diffstat 1 files changed, 5 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/stream/freesdp/parser.c	Sun Feb 11 18:00:06 2007 +0000
+++ b/stream/freesdp/parser.c	Sun Feb 11 18:00:55 2007 +0000
@@ -479,9 +479,9 @@
       {
         /* ignore unknown attributes, but provide access to them */
         *longfsdp_buf = '\0';
-        strncat (longfsdp_buf, fsdp_buf[0], MAXLONGFIELDLEN);
-        strncat (longfsdp_buf, ":", MAXLONGFIELDLEN);
-        strncat (longfsdp_buf, fsdp_buf[1], MAXLONGFIELDLEN);
+        strncat (longfsdp_buf, fsdp_buf[0], MAXLONGFIELDLEN-1);
+        strncat (longfsdp_buf, ":", MAXLONGFIELDLEN-strlen(longfsdp_buf)-1);
+        strncat (longfsdp_buf, fsdp_buf[1], MAXLONGFIELDLEN-strlen(longfsdp_buf)-1);
         if (NULL == dsc->unidentified_attributes)
         {
           dsc->unidentified_attributes_count = 0;
@@ -515,7 +515,7 @@
       {
         /* ignore unknown attributes, but provide access to them */
         *longfsdp_buf = '\0';
-        strncat (longfsdp_buf, fsdp_buf[0], MAXLONGFIELDLEN);
+        strncat (longfsdp_buf, fsdp_buf[0], MAXLONGFIELDLEN-1);
         if (NULL == dsc->unidentified_attributes)
         {
           dsc->unidentified_attributes_count = 0;
@@ -868,7 +868,7 @@
           {
             /* ignore unknown attributes, but provide access to them */
             *longfsdp_buf = '\0';
-            strncat (longfsdp_buf, fsdp_buf[0], MAXLONGFIELDLEN);
+            strncat (longfsdp_buf, fsdp_buf[0], MAXLONGFIELDLEN-1);
             if (NULL == media->unidentified_attributes)
             {
               media->unidentified_attributes_count = 0;