Fossil SCM

Fix [a56db55924]: Crash on STASH DIFF command

jan.nijtmans 2014-02-20 10:01 trunk
Commit 1c39f113d13a767b546583ae2704deeff88b78f3
1 file changed +3 -2
+3 -2
--- src/stash.c
+++ src/stash.c
@@ -311,11 +311,11 @@
311311
int isLink = db_column_int(&q, 3);
312312
int isBin1, isBin2;
313313
const char *zOrig = db_column_text(&q, 4);
314314
const char *zNew = db_column_text(&q, 5);
315315
char *zOPath = mprintf("%s%s", g.zLocalRoot, zOrig);
316
- Blob delta, a, b, disk;
316
+ Blob a, b;
317317
if( rid==0 ){
318318
db_ephemeral_blob(&q, 6, &a);
319319
fossil_print("ADDED %s\n", zNew);
320320
diff_print_index(zNew, diffFlags);
321321
isBin1 = 0;
@@ -337,10 +337,11 @@
337337
isBin1 = fIncludeBinary ? 0 : looks_like_binary(&a);
338338
isBin2 = 0;
339339
diff_file_mem(&a, &empty, isBin1, isBin2, zOrig, zDiffCmd,
340340
zBinGlob, fIncludeBinary, diffFlags);
341341
}else{
342
+ Blob delta, disk;
342343
int isOrigLink = file_wd_islink(zOPath);
343344
db_ephemeral_blob(&q, 6, &delta);
344345
if( fBaseline==0 ){
345346
if( isOrigLink ){
346347
blob_read_link(&disk, zOPath);
@@ -363,12 +364,12 @@
363364
zDiffCmd, zBinGlob, fIncludeBinary, diffFlags);
364365
blob_reset(&a);
365366
blob_reset(&b);
366367
}
367368
if( !fBaseline ) blob_reset(&disk);
369
+ blob_reset(&delta);
368370
}
369
- blob_reset(&delta);
370371
}
371372
db_finalize(&q);
372373
}
373374
374375
/*
375376
--- src/stash.c
+++ src/stash.c
@@ -311,11 +311,11 @@
311 int isLink = db_column_int(&q, 3);
312 int isBin1, isBin2;
313 const char *zOrig = db_column_text(&q, 4);
314 const char *zNew = db_column_text(&q, 5);
315 char *zOPath = mprintf("%s%s", g.zLocalRoot, zOrig);
316 Blob delta, a, b, disk;
317 if( rid==0 ){
318 db_ephemeral_blob(&q, 6, &a);
319 fossil_print("ADDED %s\n", zNew);
320 diff_print_index(zNew, diffFlags);
321 isBin1 = 0;
@@ -337,10 +337,11 @@
337 isBin1 = fIncludeBinary ? 0 : looks_like_binary(&a);
338 isBin2 = 0;
339 diff_file_mem(&a, &empty, isBin1, isBin2, zOrig, zDiffCmd,
340 zBinGlob, fIncludeBinary, diffFlags);
341 }else{
 
342 int isOrigLink = file_wd_islink(zOPath);
343 db_ephemeral_blob(&q, 6, &delta);
344 if( fBaseline==0 ){
345 if( isOrigLink ){
346 blob_read_link(&disk, zOPath);
@@ -363,12 +364,12 @@
363 zDiffCmd, zBinGlob, fIncludeBinary, diffFlags);
364 blob_reset(&a);
365 blob_reset(&b);
366 }
367 if( !fBaseline ) blob_reset(&disk);
 
368 }
369 blob_reset(&delta);
370 }
371 db_finalize(&q);
372 }
373
374 /*
375
--- src/stash.c
+++ src/stash.c
@@ -311,11 +311,11 @@
311 int isLink = db_column_int(&q, 3);
312 int isBin1, isBin2;
313 const char *zOrig = db_column_text(&q, 4);
314 const char *zNew = db_column_text(&q, 5);
315 char *zOPath = mprintf("%s%s", g.zLocalRoot, zOrig);
316 Blob a, b;
317 if( rid==0 ){
318 db_ephemeral_blob(&q, 6, &a);
319 fossil_print("ADDED %s\n", zNew);
320 diff_print_index(zNew, diffFlags);
321 isBin1 = 0;
@@ -337,10 +337,11 @@
337 isBin1 = fIncludeBinary ? 0 : looks_like_binary(&a);
338 isBin2 = 0;
339 diff_file_mem(&a, &empty, isBin1, isBin2, zOrig, zDiffCmd,
340 zBinGlob, fIncludeBinary, diffFlags);
341 }else{
342 Blob delta, disk;
343 int isOrigLink = file_wd_islink(zOPath);
344 db_ephemeral_blob(&q, 6, &delta);
345 if( fBaseline==0 ){
346 if( isOrigLink ){
347 blob_read_link(&disk, zOPath);
@@ -363,12 +364,12 @@
364 zDiffCmd, zBinGlob, fIncludeBinary, diffFlags);
365 blob_reset(&a);
366 blob_reset(&b);
367 }
368 if( !fBaseline ) blob_reset(&disk);
369 blob_reset(&delta);
370 }
 
371 }
372 db_finalize(&q);
373 }
374
375 /*
376

Keyboard Shortcuts

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