Fossil SCM
Make sure fossil_strndup() always adds a zero terminator.
Commit
8707e869496705cd4d1ed7f23d23441b59b2949999f49cf3034c4cb007ba28d1
Parent
86fa03adb1119b7…
1 file changed
+2
-1
+2
-1
| --- src/import.c | ||
| +++ src/import.c | ||
| @@ -85,11 +85,12 @@ | ||
| 85 | 85 | n = strlen(zOrig); |
| 86 | 86 | }else{ |
| 87 | 87 | for( n=0; zOrig[n] && n<len; ++n ); |
| 88 | 88 | } |
| 89 | 89 | z = fossil_malloc( n+1 ); |
| 90 | - memcpy(z, zOrig, n+1); | |
| 90 | + memcpy(z, zOrig, n); | |
| 91 | + z[n] = 0; | |
| 91 | 92 | } |
| 92 | 93 | return z; |
| 93 | 94 | } |
| 94 | 95 | char *fossil_strdup(const char *zOrig){ |
| 95 | 96 | return fossil_strndup(zOrig, -1); |
| 96 | 97 |
| --- src/import.c | |
| +++ src/import.c | |
| @@ -85,11 +85,12 @@ | |
| 85 | n = strlen(zOrig); |
| 86 | }else{ |
| 87 | for( n=0; zOrig[n] && n<len; ++n ); |
| 88 | } |
| 89 | z = fossil_malloc( n+1 ); |
| 90 | memcpy(z, zOrig, n+1); |
| 91 | } |
| 92 | return z; |
| 93 | } |
| 94 | char *fossil_strdup(const char *zOrig){ |
| 95 | return fossil_strndup(zOrig, -1); |
| 96 |
| --- src/import.c | |
| +++ src/import.c | |
| @@ -85,11 +85,12 @@ | |
| 85 | n = strlen(zOrig); |
| 86 | }else{ |
| 87 | for( n=0; zOrig[n] && n<len; ++n ); |
| 88 | } |
| 89 | z = fossil_malloc( n+1 ); |
| 90 | memcpy(z, zOrig, n); |
| 91 | z[n] = 0; |
| 92 | } |
| 93 | return z; |
| 94 | } |
| 95 | char *fossil_strdup(const char *zOrig){ |
| 96 | return fossil_strndup(zOrig, -1); |
| 97 |