#6961 correct the big-endian conversion of UInt32

This is a patch from Patrick de Visschere. Thanks.

(cherry picked from commit b70c3796a1)
This commit is contained in:
Patrick de Visschere 2019-09-08 11:11:00 +02:00 committed by Stephan Witt
parent 604782af50
commit 37f987afc9
3 changed files with 14 additions and 7 deletions

View File

@ -65,7 +65,7 @@
// The pdf data length are the last 4 bytes.
UInt32 pdfLen = 0;
pdfLen = *(UInt32 const *)(((UInt8 const *)[data bytes]) + [data length] - 4);
pdfLen = NSSwapBigLongToHost(pdfLen); // make it big endian
pdfLen = NSSwapBigIntToHost(pdfLen); // make it big endian
if (pdfLen >= [data length] - 4) {
NSLog(@"Invalid file %@ for LinkBack", fileName);
return NO;
@ -154,7 +154,7 @@
[file writeData:pdfData];
[file writeData:linkBackData];
UInt32 pdfLen = NSSwapHostLongToBig([pdfData length]); // big endian
UInt32 pdfLen = NSSwapHostIntToBig([pdfData length]); // big endian
NSData * lenData = [NSData dataWithBytes:&pdfLen length:4];
[file writeData:lenData];
[file closeFile];

View File

@ -154,7 +154,6 @@ NSString* FindLinkBackServer(NSString* bundleIdentifier, NSString* serverName, N
void LinkBackRunAppNotFoundPanel(NSString* appName, NSURL* url)
{
int result ;
// strings for panel
NSBundle* b = [NSBundle bundleForClass: [LinkBack class]] ;
@ -172,10 +171,16 @@ void LinkBackRunAppNotFoundPanel(NSString* appName, NSURL* url)
title = [NSString stringWithFormat: title, appName] ;
result = NSRunCriticalAlertPanel(title, @"%@", ok, urlstr, nil, msg) ;
if (NSAlertAlternateReturn == result) {
[[NSWorkspace sharedWorkspace] openURL: url] ;
}
NSAlert* alert = [[NSAlert alloc] init];
[alert setAlertStyle:NSAlertStyleCritical];
[alert setMessageText:title];
[alert setInformativeText:[NSString stringWithFormat:@"%@", msg]];
[alert addButtonWithTitle:ok];
[alert addButtonWithTitle:urlstr];
[alert beginSheetModalForWindow:[NSApp mainWindow] completionHandler:^(NSModalResponse returnCode) {
if (returnCode == NSAlertSecondButtonReturn)
[[NSWorkspace sharedWorkspace] openURL: url] ;
}];
}
+ (LinkBackServer*)LinkBackServerWithName:(NSString*)aName inApplication:(NSString*)bundleIdentifier launchIfNeeded:(BOOL)flag fallbackURL:(NSURL*)url appName:(NSString*)appName

View File

@ -108,6 +108,8 @@ What's new
- Do not create unnecessary directories when exporting from the command
line (bug 11636).
- Fix problem with included objects with Linkback service on Mac (bug 6961).
* USER INTERFACE