Fossil SCM

When checking for win32 absolute paths, I added a check to make sure we don't overstep the bounds of a string

jnc 2007-09-25 00:17 trunk
Commit af3a751841e268336fea30c2d6499c2d85e6d71e
1 file changed +2 -1
+2 -1
--- src/file.c
+++ src/file.c
@@ -182,11 +182,12 @@
182182
** Remove redundant / characters
183183
** Remove all /./ path elements.
184184
** Convert /A/../ to just /
185185
*/
186186
void file_canonical_name(const char *zOrigName, Blob *pOut){
187
- if( zOrigName[0]=='/' || (zOrigName[1]==':' && zOrigName[2]=='\\') ){
187
+ if( zOrigName[0]=='/'
188
+ || (strlen(zOrigName)>3 && zOrigName[1]==':' && zOrigName[2]=='\\') ){
188189
blob_set(pOut, zOrigName);
189190
blob_materialize(pOut);
190191
}else{
191192
char zPwd[2000];
192193
if( getcwd(zPwd, sizeof(zPwd)-20)==0 ){
193194
--- src/file.c
+++ src/file.c
@@ -182,11 +182,12 @@
182 ** Remove redundant / characters
183 ** Remove all /./ path elements.
184 ** Convert /A/../ to just /
185 */
186 void file_canonical_name(const char *zOrigName, Blob *pOut){
187 if( zOrigName[0]=='/' || (zOrigName[1]==':' && zOrigName[2]=='\\') ){
 
188 blob_set(pOut, zOrigName);
189 blob_materialize(pOut);
190 }else{
191 char zPwd[2000];
192 if( getcwd(zPwd, sizeof(zPwd)-20)==0 ){
193
--- src/file.c
+++ src/file.c
@@ -182,11 +182,12 @@
182 ** Remove redundant / characters
183 ** Remove all /./ path elements.
184 ** Convert /A/../ to just /
185 */
186 void file_canonical_name(const char *zOrigName, Blob *pOut){
187 if( zOrigName[0]=='/'
188 || (strlen(zOrigName)>3 && zOrigName[1]==':' && zOrigName[2]=='\\') ){
189 blob_set(pOut, zOrigName);
190 blob_materialize(pOut);
191 }else{
192 char zPwd[2000];
193 if( getcwd(zPwd, sizeof(zPwd)-20)==0 ){
194

Keyboard Shortcuts

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