Windows error 0x000000B6, 182

Detailed Error Information

INVALID_ORDINAL[1]

MessageThe operating system cannot run %1.
Declared inwinerror.h

This appears to be a raw Win32 error. More information may be available in error 0x800700B6.

HRESULT analysis[2]

This is probably not the correct interpretation of this error. The Win32 error above is more likely to indicate the actual problem.
FlagsSeveritySuccess

This code indicates success, rather than an error. This may not be the correct interpretation of this code, or possibly the program is handling errors incorrectly.

Reserved (R)false
OriginMicrosoft
NTSTATUSfalse
Reserved (X)false
FacilityCode0 (0x000)
NameFACILITY_NULL[2][1]
DescriptionThe default facility code.[2][1]
Error Code182 (0x00b6)

Possible solutions

1

App crashes on start on real device only

ios
xcode
swift
sprite-kit

The pathForResource() function returns a String?, indicating that (because it's an optional) there's a chance no value will be returned. I'm guessing the method is returning nil, but because you're assigning it using a let statement, the app is crashing.

I'm a little surprised it's crashing directly on that line though. You should be able to assign nil using the let keyword. In any case, if the value is nil, you'd definitely encounter a crash on your next line when you force unwrap the optional:

var sceneData = NSData.dataWithContentsOfFile(path!, options: .DataReadingMappedIfSafe, error: nil)
                                                  ^ here

Try this:

if let path = NSBundle.mainBundle().pathForResource(file, ofType: "sks") {
    /* ... (your code using path) ... */
} else {
    NSLog("Unable to locate path for resource: \(file)")
}

I have a feeling you'll see that NSLog() output at launch.

answered on Stack Overflow Sep 11, 2014 by Craig Otis • edited Sep 11, 2014 by Craig Otis
1

Why is the string specified in `LD_PRELOAD` loaded on the memory of setuid executables in RedHat 6.2?

linux
security
memory
ld-preload

On Linux, all environment variables are visible to a program via a special third argument to main() traditionally called envp: http://crasseux.com/books/ctutorial/Environment-variables.html

If envp is part of your main() signature, it will point to an array containing all the environment variables. Even if it's not, it makes sense that the array might still exist in your program's address space.

None of this means that the loader actually respects LD_PRELOAD in any specific scenario--it is free to ignore it, e.g. under setuid, but the variable will still exist.

answered on Stack Overflow Jan 26, 2017 by John Zwinck
0

Why is the string specified in `LD_PRELOAD` loaded on the memory of setuid executables in RedHat 6.2?

linux
security
memory
ld-preload

To elaborate a bit on John's answer, some env. variables are removed completely from setuid environment i.e. not passed to insecure subprocesses (e.g. LD_DEBUG) and some are plain ignored but passed to subprocesses (e.g. LD_PRELOAD).

answered on Stack Overflow Jan 26, 2017 by yugr

Comments

Leave a comment

(plain text only)

Sources

  1. winerror.h from Windows SDK 10.0.14393.0
  2. https://msdn.microsoft.com/en-us/library/cc231198.aspx

User contributions licensed under CC BY-SA 3.0