Fossil SCM

Fix an invalid free() call that could occur when the "info" command was used with an invalid artifact ID. Ticket [aa8ba0fffa].

drh 2009-12-27 18:19 trunk
Commit 9d3fe01ae333adcea94acb637f8a8a5f40acb280
1 file changed +2 -2
+2 -2
--- src/info.c
+++ src/info.c
@@ -62,16 +62,16 @@
6262
char *zTags;
6363
char *zDate;
6464
char *zUuid;
6565
zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
6666
if( zUuid ){
67
- zDate = db_text("",
67
+ zDate = db_text(0,
6868
"SELECT datetime(mtime) || ' UTC' FROM event WHERE objid=%d",
6969
rid
7070
);
7171
/* 01234567890123 */
72
- printf("%-13s %s %s\n", zUuidName, zUuid, zDate);
72
+ printf("%-13s %s %s\n", zUuidName, zUuid, zDate ? zDate : "");
7373
free(zUuid);
7474
free(zDate);
7575
}
7676
db_prepare(&q, "SELECT uuid, pid FROM plink JOIN blob ON pid=rid "
7777
" WHERE cid=%d", rid);
7878
--- src/info.c
+++ src/info.c
@@ -62,16 +62,16 @@
62 char *zTags;
63 char *zDate;
64 char *zUuid;
65 zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
66 if( zUuid ){
67 zDate = db_text("",
68 "SELECT datetime(mtime) || ' UTC' FROM event WHERE objid=%d",
69 rid
70 );
71 /* 01234567890123 */
72 printf("%-13s %s %s\n", zUuidName, zUuid, zDate);
73 free(zUuid);
74 free(zDate);
75 }
76 db_prepare(&q, "SELECT uuid, pid FROM plink JOIN blob ON pid=rid "
77 " WHERE cid=%d", rid);
78
--- src/info.c
+++ src/info.c
@@ -62,16 +62,16 @@
62 char *zTags;
63 char *zDate;
64 char *zUuid;
65 zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
66 if( zUuid ){
67 zDate = db_text(0,
68 "SELECT datetime(mtime) || ' UTC' FROM event WHERE objid=%d",
69 rid
70 );
71 /* 01234567890123 */
72 printf("%-13s %s %s\n", zUuidName, zUuid, zDate ? zDate : "");
73 free(zUuid);
74 free(zDate);
75 }
76 db_prepare(&q, "SELECT uuid, pid FROM plink JOIN blob ON pid=rid "
77 " WHERE cid=%d", rid);
78

Keyboard Shortcuts

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