Go: improve error handling
This commit is contained in:
		
							parent
							
								
									bcb24af926
								
							
						
					
					
						commit
						d8171b9ac4
					
				
							
								
								
									
										11
									
								
								pdf/pdf.go
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								pdf/pdf.go
									
									
									
									
									
								
							| @ -766,8 +766,6 @@ func (u *Updater) Version(root *Object) int { | ||||
| 
 | ||||
| // Get retrieves an object by its number and generation--may return | ||||
| // Nil or End with an error. | ||||
| // | ||||
| // TODO(p): We should fix all uses of this not to eat the error. | ||||
| func (u *Updater) Get(n, generation uint) (Object, error) { | ||||
| 	if n >= u.xrefSize { | ||||
| 		return New(Nil), nil | ||||
| @ -907,8 +905,8 @@ func NewDate(ts time.Time) Object { | ||||
| // GetFirstPage retrieves the first page of the given page (sub)tree reference, | ||||
| // or returns a Nil object if unsuccessful. | ||||
| func (u *Updater) GetFirstPage(nodeN, nodeGeneration uint) Object { | ||||
| 	obj, _ := u.Get(nodeN, nodeGeneration) | ||||
| 	if obj.Kind != Dict { | ||||
| 	obj, err := u.Get(nodeN, nodeGeneration) | ||||
| 	if err != nil || obj.Kind != Dict { | ||||
| 		return New(Nil) | ||||
| 	} | ||||
| 
 | ||||
| @ -1128,7 +1126,10 @@ func Sign(document []byte, key crypto.PrivateKey, certs []*x509.Certificate, | ||||
| 	if !ok || rootRef.Kind != Reference { | ||||
| 		return nil, errors.New("trailer does not contain a reference to Root") | ||||
| 	} | ||||
| 	root, _ := pdf.Get(rootRef.N, rootRef.Generation) | ||||
| 	root, err := pdf.Get(rootRef.N, rootRef.Generation) | ||||
| 	if err != nil { | ||||
| 		return nil, fmt.Errorf("Root dictionary retrieval failed: %s", err) | ||||
| 	} | ||||
| 	if root.Kind != Dict { | ||||
| 		return nil, errors.New("invalid Root dictionary reference") | ||||
| 	} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user