Fossil SCM
Avoid unnecessarily allocating a UUID when manifest_parse() fails and is not given an error blob.
Commit
07592007ce0a9233fab8b45c8be9dfcf56bfb6e1b43ded31cb6a4f1046af9331
Parent
524474cfa0c05a0…
1 file changed
+3
-7
+3
-7
| --- src/manifest.c | ||
| +++ src/manifest.c | ||
| @@ -1128,20 +1128,16 @@ | ||
| 1128 | 1128 | md5sum_init(); |
| 1129 | 1129 | if( !isRepeat ) g.parseCnt[p->type]++; |
| 1130 | 1130 | return p; |
| 1131 | 1131 | |
| 1132 | 1132 | manifest_syntax_error: |
| 1133 | - { | |
| 1134 | - char *zUuid = rid_to_uuid(rid); | |
| 1133 | + if(pErr!=0){ | |
| 1134 | + char *zUuid = rid>0 ? rid_to_uuid(rid) : 0; | |
| 1135 | 1135 | if( zUuid ){ |
| 1136 | - if(pErr!=0){ | |
| 1137 | - blob_appendf(pErr, "artifact [%s] ", zUuid); | |
| 1138 | - } | |
| 1136 | + blob_appendf(pErr, "artifact [%s] ", zUuid); | |
| 1139 | 1137 | fossil_free(zUuid); |
| 1140 | 1138 | } |
| 1141 | - } | |
| 1142 | - if(pErr!=0){ | |
| 1143 | 1139 | if( zErr ){ |
| 1144 | 1140 | blob_appendf(pErr, "line %d: %s", lineNo, zErr); |
| 1145 | 1141 | }else{ |
| 1146 | 1142 | blob_appendf(pErr, "unknown error on line %d", lineNo); |
| 1147 | 1143 | } |
| 1148 | 1144 |
| --- src/manifest.c | |
| +++ src/manifest.c | |
| @@ -1128,20 +1128,16 @@ | |
| 1128 | md5sum_init(); |
| 1129 | if( !isRepeat ) g.parseCnt[p->type]++; |
| 1130 | return p; |
| 1131 | |
| 1132 | manifest_syntax_error: |
| 1133 | { |
| 1134 | char *zUuid = rid_to_uuid(rid); |
| 1135 | if( zUuid ){ |
| 1136 | if(pErr!=0){ |
| 1137 | blob_appendf(pErr, "artifact [%s] ", zUuid); |
| 1138 | } |
| 1139 | fossil_free(zUuid); |
| 1140 | } |
| 1141 | } |
| 1142 | if(pErr!=0){ |
| 1143 | if( zErr ){ |
| 1144 | blob_appendf(pErr, "line %d: %s", lineNo, zErr); |
| 1145 | }else{ |
| 1146 | blob_appendf(pErr, "unknown error on line %d", lineNo); |
| 1147 | } |
| 1148 |
| --- src/manifest.c | |
| +++ src/manifest.c | |
| @@ -1128,20 +1128,16 @@ | |
| 1128 | md5sum_init(); |
| 1129 | if( !isRepeat ) g.parseCnt[p->type]++; |
| 1130 | return p; |
| 1131 | |
| 1132 | manifest_syntax_error: |
| 1133 | if(pErr!=0){ |
| 1134 | char *zUuid = rid>0 ? rid_to_uuid(rid) : 0; |
| 1135 | if( zUuid ){ |
| 1136 | blob_appendf(pErr, "artifact [%s] ", zUuid); |
| 1137 | fossil_free(zUuid); |
| 1138 | } |
| 1139 | if( zErr ){ |
| 1140 | blob_appendf(pErr, "line %d: %s", lineNo, zErr); |
| 1141 | }else{ |
| 1142 | blob_appendf(pErr, "unknown error on line %d", lineNo); |
| 1143 | } |
| 1144 |