Fossil SCM

More work to ensure that UrlData.path is always dynamically allocated.

drh 2021-10-26 15:47 trunk
Commit 6d78082cb594cb7ffda35ba798d6f46e1b6cad545fe4550895830bbb1b15cfad
1 file changed +5 -1
+5 -1
--- src/url.c
+++ src/url.c
@@ -247,11 +247,15 @@
247247
"%s://%s%T:%d%T%z",
248248
pUrlData->protocol, zLogin, pUrlData->name, pUrlData->port,
249249
pUrlData->path, zExe
250250
);
251251
}
252
- if( pUrlData->isSsh && pUrlData->path[1] ) pUrlData->path++;
252
+ if( pUrlData->isSsh && pUrlData->path[1] ){
253
+ char *zOld = pUrlData->path;
254
+ pUrlData->path = mprintf("%s", zOld+1);
255
+ fossil_free(zOld);
256
+ }
253257
free(zLogin);
254258
}else if( strncmp(zUrl, "file:", 5)==0 ){
255259
pUrlData->isFile = 1;
256260
if( zUrl[5]=='/' && zUrl[6]=='/' ){
257261
i = 7;
258262
--- src/url.c
+++ src/url.c
@@ -247,11 +247,15 @@
247 "%s://%s%T:%d%T%z",
248 pUrlData->protocol, zLogin, pUrlData->name, pUrlData->port,
249 pUrlData->path, zExe
250 );
251 }
252 if( pUrlData->isSsh && pUrlData->path[1] ) pUrlData->path++;
 
 
 
 
253 free(zLogin);
254 }else if( strncmp(zUrl, "file:", 5)==0 ){
255 pUrlData->isFile = 1;
256 if( zUrl[5]=='/' && zUrl[6]=='/' ){
257 i = 7;
258
--- src/url.c
+++ src/url.c
@@ -247,11 +247,15 @@
247 "%s://%s%T:%d%T%z",
248 pUrlData->protocol, zLogin, pUrlData->name, pUrlData->port,
249 pUrlData->path, zExe
250 );
251 }
252 if( pUrlData->isSsh && pUrlData->path[1] ){
253 char *zOld = pUrlData->path;
254 pUrlData->path = mprintf("%s", zOld+1);
255 fossil_free(zOld);
256 }
257 free(zLogin);
258 }else if( strncmp(zUrl, "file:", 5)==0 ){
259 pUrlData->isFile = 1;
260 if( zUrl[5]=='/' && zUrl[6]=='/' ){
261 i = 7;
262

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button