Slashdot Mirror


Apple's China-Friendly Censorship Caused An iPhone-Crashing Bug (wired.com)

Security researcher Patrick Wardle helped Apple fix a bug that would crash apps displaying the word "Taiwan" or the Taiwanese flag emoji. Some iPhones could be remotely crashed by something as simple as receiving a text message with the Taiwanese flag. Apple confirmed the fix in a security update Monday. Wired reports: "Basically Apple added some code to iOS with the goal that phones in China wouldn't display a Taiwanese flag," Wardle says, "and there was a bug in that code." Since at least early 2017, iOS has included that Chinese censorship function: Switch your iPhone's location setting to China, and the Taiwanese flag emoji essentially disappears from your phone, evaporating from its library of emojis and appearing as a "missing" emoji in any text that appears on the screen. That code likely represents a favor from Apple to the Chinese government, which for the last 70 years has maintained that Taiwan is a part of China and has no legitimate independent government.

But Wardle found that in some edge cases, a bug in the Taiwan-censorship code meant that instead of treating the Taiwan emoji as missing from the phone's library, it instead considered it an invalid input. That caused phones to crash altogether, resulting in what hackers call a "denial of service" attack that would let anyone crash a vulnerable device on command. Wardle's still not sure how many devices are affected, or what caused that bug to be triggered only in some iOS devices and not others, but he believes it has something to do with the phone's location and language settings.
Wardle has more details of the bug on his blog.

78 comments

  1. LOL by Anonymous Coward · · Score: 5, Insightful

    Good one apple. Way to bend over for China. Anything to sell more overpriced toys.

    1. Re:LOL by michelcolman · · Score: 1

      I can kind of understand they had no choice there. It's a pretty big market to just give up for reasons of principle.

      But how can "invalid input" just lead to a crash of the system?! Shouldn't input validation be a solved problem by now?

    2. Re: LOL by Anonymous Coward · · Score: 0

      This is Apple. They've had a whole string on Unicode parse crashes, and every time instead of fixing the core issue they special-case the bad input that was discovered. So it seems if you cat /dev/urandom | sendsms, you'll eventually crash the iPhone.

  2. why not just show the chinese flag emoji? by the_skywise · · Score: 1

    Why go through the hassle of scrubbing the tables and special code hacks - when set for China just use a special emoji page that replaces the Taiwan flag with the China flag.

  3. Why support them? by Anonymous Coward · · Score: 1

    Yay Apple, the 'Anti big brother'.

  4. Step 1 by Anonymous Coward · · Score: 3, Insightful

    Step 1: Make Taiwan's flag disappear in China
    Step 2: Make iPhone act as if it's in China when it's in Taiwan -- pretend Taiwan has disappeared

    It's a small step.

    Then report back to China on everything happening on phone, everywhere -- what electronic boundaries are there for authoritarianism?

    1. Re:Step 1 by Anonymous Coward · · Score: 0

      It is. It has.

  5. Disgusting by hcs_$reboot · · Score: 3, Insightful

    If Apple is keen on implementing that level of censorship [ which has been made public ] who knows what else stagnates in the code ready to break privacy?

    --
    Slashdot, fix the reply notifications... You won't get away with it...
    1. Re:Disgusting by AmiMoJo · · Score: 1

      And how does rendering a character crash the phone? Are they rendering fonts in the kernel?

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    2. Re:Disgusting by Anonymous Coward · · Score: 0

      And how does rendering a character crash the phone? Are they rendering fonts in the kernel?

      How about the software doesn't handle invalid inputs, so it doesn't know what to do but hung up (not return resources)?

  6. Fake Apple Virtue by Anonymous Coward · · Score: 2, Insightful

    Gotta love how Apple pretends to be full of virtue.

    Meanwhile they collaborate with one of the world's most oppressive governments.

    You don't know half of what goes on in China because it is all censored.

    1. Re:Fake Apple Virtue by Anonymous Coward · · Score: 0

      They ALL cooperate and censor with China/USA/EU/AU etc. playing by the rules is a requirement to exist in any market and ALL of those markets have very specific requirements.

    2. Re:Fake Apple Virtue by Anonymous Coward · · Score: 0

      Hypocritical piece of shit company. apple always has been and always will be.

    3. Re: Fake Apple Virtue by Anonymous Coward · · Score: 1

      Oh right, I forgot that if you do something bad for money then its all good after all.

      IBM sold 'adding machines' to the Nazis, I wonder what they were counting with such zeal? Who cares, good for business.

    4. Re: Fake Apple Virtue by Anonymous Coward · · Score: 0

      "I wonder what they were counting with such zeal?"

      They did more than just kill Jews, so I'd say "money" is a pretty likely answer.

  7. 1984 Anyone? by Anonymous Coward · · Score: 1

    Basically Apple added some code to iOS with the goal that phones in China wouldn't display a Taiwanese flag

    If this is true, then NOBODY should be using this product.

    1. Re:1984 Anyone? by OrangeTide · · Score: 1

      Real life Ministry of Truth.

      --
      “Common sense is not so common.” — Voltaire
  8. Think Different by Anonymous Coward · · Score: 2, Insightful

    From Think Different to shareholders whores.

    1. Re: Think Different by Anonymous Coward · · Score: 0

      In fairness, any publicly traded, for-profit company is a shareholder whore, too. It is required. Blame capitalism if you dont liek.

  9. AI by Anonymous Coward · · Score: 1

    Sure. A multi billion dollar company can't keep their phones from crashing due to playing an emoji , but AI is right around the corner right?

    What a fucking joke. Tre iPhone USB riddled with bugs even though it is apples flagship product.

    But yeah, AI is gonna happen real soon now

    1. Re:AI by Anonymous Coward · · Score: 0

      Sure. A multi billion dollar company can't keep their phones from crashing due to playing an emoji , but AI is right around the corner right?

      What a fucking joke. Tre iPhone USB riddled with bugs even though it is apples flagship product.

      But yeah, AI is gonna happen real soon now

      Self driving cars too!

    2. Re:AI by Anonymous Coward · · Score: 0

      Planes land themselves (autoland Cat III zero visibility).
      Trains drive themselves (eg I catch the London DLR everyday).
      Card can drive themselves (mostly successfully).

      AI, on the other hand, is hard, and way short of our imaginations and expectations.

      Just try compare Alexa, Siri, Cortana etc against HAL 9000.
      Even a four year old can notice the difference.

      Talking to AI is similar to talking to “special” human: vast memory and fact recall but stil lacking in understanding, empathy, context etc.

    3. Re: AI by Anonymous Coward · · Score: 1

      That's like saying back in the late 90s that Linux couldn't possibly exist and be stable because Microsoft is a huge multi-billion-dollar company and their OSes like Windows 95, Windows 98 and Windows ME often crashed unexpectedly.

      Just because Apple might be having some problems with its software doesn't mean that unrelated software from unrelated vendors is having problems too! Lots of companies working on cutting edge technologies are using a modern programming language like Rust, for example. Rust has been designed from the ground up to avoid whole classes of bugs. Rust is quickly becoming the go-to language for important software where safety, security and performance are all mandatory.

      Just because Apple might be using Objective-C or Swift it doesn't mean that other companies aren't using a modern language like Rust that makes it so much harder to write buggy code. Rust is the kind of programming language that's enabling the AI revolution.

    4. Re: AI by Anonymous Coward · · Score: 0

      Good God how long have you been programming? What you said there is just a recycle of what was said about every other wonder language that comes along to save us from ourselves.

    5. Re:AI by CaffeinatedBacon · · Score: 1

      Card can drive themselves (mostly successfully).

      When they can spell check properly we will know they are on the right track.

    6. Re: AI by Anonymous Coward · · Score: 0

      In communist China, Apple Self-driving iCar runs OVER anyone who is Taiwanese, even if the have to drive into a house, up a flight of stairs, and knock on a bedroom door and wait for the Taiwanese person to answer. Apple. Courage. Not a bug, but a Chinese government require feature.

      Cant help but wonder if the crashing is not also a feature in some places.

  10. Re:but apple will not add code to help the FBI! by Anonymous Coward · · Score: 0

    How long have you lived under a rock? Comie spelled with one m, wow!

  11. Free China by Anonymous Coward · · Score: 0

    Couldn't they have instead had their software substitute "Free China" or "Republic of China" anywhere that "Taiwan" would have appeared?

  12. Why does Apple hate free speech? by Anonymous Coward · · Score: 0

    This is something Hitler would do.

  13. Re:but apple will not add code to help the FBI! by Desler · · Score: 1

    Word salad ahoy!

  14. Re:but apple will not add code to help the FBI! by Anonymous Coward · · Score: 0

    Yes they will - they just don't tell you about it as people outside of china are a lot less likely to accept it.

    If it's happened for China, you can bet your socks it's already happened outside of it (why on earth would you like to think otherwise?)

    Or to put it another way - those zero days / bugs / exploits found in various OS's. Some are of course accidental.

  15. Re:but apple will not add code to help the FBI! by Anonymous Coward · · Score: 0

    Maybe, just maybe, by misspelling "commie" you meant to say that Tim Cook and James Comey / Comie are the same person? And they are both gay? James has never come out and say it publicly...

  16. there $1.39/hr pay is bigger then free speech by Joe_Dragon · · Score: 1

    there $1.39/hr pay is bigger then free speech

  17. Cupertino city flag by OrangeTide · · Score: 1

    Even the city of Cupertino has their own flag. This does not mean Cupertino is not part of California, nor does California's flag mean it is not part of the US. (I'm sure California's contributions to GDP and federal taxes are appreciate, even if their politics are not welcomed)

    Taiwan can have a flag, and China can claim that Taiwan is part of them. The two positions are no worse than the usual double-think that goes on in the Communist Party of China (CPC). It's kind of sad that freedom-loving American companies have a love for money that overrides principle.

    --
    “Common sense is not so common.” — Voltaire
    1. Re:Cupertino city flag by Anonymous Coward · · Score: 0

      Taiwan can have a flag, and China can claim that Taiwan is part of them. The two positions are no worse than the usual double-think that goes on in the Communist Party of China (CPC). It's kind of sad that freedom-loving American companies have a love for money that overrides principle.

      Except that Taiwan never really was part of China. Unless you're referring to the Chinese people in Taiwan.

      On the other hand, people claim ridiculous things all the time, like "Jesus is coming" or whatever.

    2. Re:Cupertino city flag by Actually,+I+do+RTFA · · Score: 4, Informative

      The Taiwanese Flag is also the Chinese National Flag... pre-Communist revolution. The Taiwanese government claims continuity with the pre-Communist government. Hence, to mainland China, it is very much like Delaware wanted to keep flying the Union Jack in 1830.

      --
      Your ad here. Ask me how!
    3. Re:Cupertino city flag by Anonymous Coward · · Score: 0

      ...or it would be, if Delaware was actually independent in practice, whilst both Delaware and Washington issue proclamations that they each control the other.

  18. Would using Rust have helped prevent this bug? by Anonymous Coward · · Score: 0, Troll

    I don't know a lot about iOS, but I've heard people say it is written in languages like C, Objective-C, C++ and Swift.

    Would using a modern, safety-first and security-first programming language like Rust have helped avoid this bug?

    1. Re:Would using Rust have helped prevent this bug? by Anonymous Coward · · Score: 0

      I don't know a lot about iOS, but I've heard people say it is written in languages like C, Objective-C, C++ and Swift.

      Would using a modern, safety-first and security-first programming language like Rust have helped avoid this bug?

      No. You can write bad code in any language.

      Stop pointing to the language something stupid was written in as the problem.

      Stop pointing to a different language as a solution to doing stupid things.

    2. Re: Would using Rust have helped prevent this bug? by Anonymous Coward · · Score: 1

      You can write bad code in any language.

      You C fanatics are really showing your ignorance when you make wrong claims like that. There are certain types of bugs that happen almost naturally within C code but that are pretty much impossible to have happen in languages like Java, Ruby, and especially Rust. Only somebody who is totally ignorant about the last 25 years of programming language development would write something as wrong as what you just wrote.

    3. Re: Would using Rust have helped prevent this bug? by Anonymous Coward · · Score: 0

      Yeah, no.

      There is a great Mythbusters episode where they actually shine shit, who knew?

    4. Re: Would using Rust have helped prevent this bug? by Anonymous Coward · · Score: 0

      Code written in Rust automatically censors everything the Chinese government doesn't like when in China.

  19. Why is China allowing Apple... by Anonymous Coward · · Score: 0

    ... to display the Taiwanese flag anywhere? Obviously because China gives zero fucks what you (outside China) think. For now. For now. I am confident tho, with all the courage at Apple, they would never tolerate China insisting Apple censor YOUR iPhone. Courage. Hahahahahhaha... yeah. Right. Courage to stand up to users not wanting Apple to extort even more money from them in being made unable to use their legacy headphones without some special, stupid, pain in the ass adapter. Yo... Fuck that shit.

  20. What's Apple's slogan? by Stephen+Piazze · · Score: 0

    Think totalitarian.

  21. Vulnerability description by Anonymous Coward · · Score: 2, Informative

    Pseudo code for those of you not familiar with Objective C.
    locale currentLocale = CFLocaleCopyCurrent();
    string countryCode = CFLocaleGetValue(currentLocale, kCFLocaleCountryCode);
    if countryCode == "CN" then ...

    If in your phone's configuration no current region is set (region-less configuration) then CFLocaleGetValue will return a null pointer. And thus when the code tries to compare the 'C' with the first character in countryCode, it crashes with a null pointer dereference.

    1. Re:Vulnerability description by Anonymous Coward · · Score: 0

      BULLSHIT

      Maybe the bug could have been avoided by apple having some balls and ethics and not trying to censor their phones for the sake of sales in China. Seriously you fucking apple fanbois are disgusting.

      You should send this to apple; quite obviously they are not familiar with objective C

    2. Re: Vulnerability description by Anonymous Coward · · Score: 0

      While I agree that Objective-C is a steaming hot bowl of diarrhea, this has NOTHING to do with Objective-C and EVERYTHING to do with crappy inexperienced 'programmers'.

    3. Re: Vulnerability description by Anonymous Coward · · Score: 0

      Better yet, YOU go explain to Apple shareholders why owning Apple stock COULD have netted them another million dollars, but it did NOT because Apple refused to obey local laws in markets they could have been selling products in, but did not. THIS hatred of censorship in some areas but tolerance of it in others is hypocritical. Your government censors a LOT of things. There are a lot of things that if you were found out to be looking at, or in possession of, even in the holy United States of Awesomerica, you would end up unceremoniously deposited into your nearest local jail cell, and you are for some reason completely failing to bitch about that, yet somehow you are worried about fucking Taiwan. Sad.

    4. Re:Vulnerability description by Anonymous Coward · · Score: 0

      Before you call bullshit on someone, you should do some research first. Both Apple and the guy who reverse engineered the code where the crash occurred agree that this is what happens, as do I, an independent security researcher. If you disagree, please show us what else it was that caused the null pointer dereference that made it crash.
      Whether Apple should have made itself part of China's censorship machine in the first place is another issue and outside of the scope of my post, which is just a vulnerability description, nothing more, nothing less.
      As for calling me an Apple fanboy, that's absurd. I don't use Apple products in daily life, only rarely in a professional capacity when ‘interesting’ situations occur. I don't even own any Apple product myself. I posted the vulnerability description precisely because my Objective C and Core Foundation was a bit rusty, I don't like reading it, and the article linked in the summary took way too much time to reach the salient point. Yes, the journey of discovery is interesting and maybe even educational for someone like me, although in this case it wasn't as it was all pretty run-of-the-mill stuff, but for most of us one of the first questions is ‘how the fuck can replacing an emoji crash a phone?’ and I think my post here does a better job of answering that question than the linked article.

    5. Re:Vulnerability description by Anonymous Coward · · Score: 0

      Here is the real code
      if InChina
        if instr(input ,"taiwan" )
          sendAllUserInfoUnencryptedToChineseServersPerAgreement()

  22. China vs China by manu0601 · · Score: 3, Informative

    the [People Republic of China] government, which for the last 70 years has maintained that Taiwan is a part of China and has no legitimate independent government.

    And Taiwan's government has the exact same opposite position, maintaining that they are the only legitimate government of China. Both government consider there is only one China, and that its territory contains mainland and Taiwan island.

    1. Re:China vs China by LostInTaiwan · · Score: 4, Informative

      However, Taiwan is a democracy with protection for basic human rights. You can freely fly the Chinese flag and openly advocate Taiwan is a part of China. Try doing the reverse in China will most likely result in imprisonment. That is the biggest difference between Taiwan and China.

      Oh', that China vs China argument is a Chinese construct. The Chinese position is, if Taiwan renounces its Chinese territorial claim then that's justification for invasion; if Taiwan continues its Chinese territorial claim, that too is justification for invasion.

    2. Re:China vs China by cascadingstylesheet · · Score: 0

      However, Taiwan is a democracy with protection for basic human rights. You can freely fly the Chinese flag and openly advocate Taiwan is a part of China. Try doing the reverse in China will most likely result in imprisonment. That is the biggest difference between Taiwan and China.

      Oh', that China vs China argument is a Chinese construct. The Chinese position is, if Taiwan renounces its Chinese territorial claim then that's justification for invasion; if Taiwan continues its Chinese territorial claim, that too is justification for invasion.

      Yep.

      Hipsters and their love of communism. They'll call their own president a "nazi" - openly, in public, with no repercussions whatsoever, just backslaps from all around - but a real repressive dictatorship (red China), they just can't get enough of loving that.

    3. Re:China vs China by manu0601 · · Score: 1

      However, Taiwan is a democracy with protection for basic human rights.

      Sure, but why do you have this urgent need to tell the good and the evil when talking about foreign countries? Have you wondered why you do not feel the same need when talking about public figures, corporations, religions, etc?

      I agree many countries are ruled by evil governments, but it seems we now have a list of countries we must call evil before we are allowed to start a sentence about them. That sounds a lot like war propaganda.

    4. Re: China vs China by Anonymous Coward · · Score: 0

      Red, Commie Pinko China... you mean the place where Nazi-prez has his tacky, gaudy shit mass-produced on the cheap, and his daughter whom he wants to fuck got her bullshit trademarks approved so she can make money off morons too stupid to realize her products are shit? That red, commie pinko China? Or some other one?

  23. Re:but apple will not add code to help the FBI! by Anonymous Coward · · Score: 0

    Maybe, just maybe, by misspelling "commie" you meant to say that Tim Cook and James Comey / Comie are the same person? And they are both gay? James has never come out and say it publicly...

    When he told the public he was reopening investigations against Clinton, he was in bed with Trump, so yes, they are gay, "But, but, Trump fired him", you will say. That's how Trump treats his lovers.

  24. Human rights vs. profit by myid · · Score: 1

    Apple works to protect the environment and gay rights, and tries not to use raw materials supplied by child labor. That's good.

    I hope some day Apple will also care some day about human rights, like free speech.

    At an Apple shareholder's meeting:

    "When we work on making our devices accessible by the blind, I don’t consider the bloody ROI," Cook said, adding that the same sentiment applied to environmental and health and safety issues.

    Ok, when will Apple apply the "I don’t consider the bloody ROI" philosophy, when it comes to selling Apple devices in China?

    1. Re: Human rights vs. profit by Anonymous Coward · · Score: 0

      ROI reduction resulting from obeying the ADA, as opppsed to being sued and having to fight litigation to be allowed to continue making their devices less usable and thereby in the process offending much of their user base is pretty trivial compared to ROI reduction resulting from being kicked out of a quadrillion dollar maket. China has about 3-5 times as many people as the US. As idiocy in the US destroys it from within, China is looking increasingly like the place to go and to be for a tech co. Sorry if you dont like that.

  25. NSA, GCHQ, China... by AHuxley · · Score: 1

    Who else can ask for a real time look in?
    Thats some great customer support to support nations with their user problems.

    --
    Domestic spying is now "Benign Information Gathering"
  26. I am in Xiamen now... by LynnwoodRooster · · Score: 2

    Let me open my browser (Chrome, Samsung Galaxy Note 8), pop open Bing, type in Taiwan. Works fine here! Same with texting the word to my wife. Even downloaded a picture of the Taiwanese flag. Yep - seems to work on Android at least. I guess Google doesn't want to bow so deeply to Beijing!

    --
    Browsing at +1 - no ACs, I ignore their posts. So refreshing!
    1. Re:I am in Xiamen now... by Anonymous Coward · · Score: 0

      I guess Google doesn't want to bow so deeply to Beijing!

      In this case, Google is ahead of Apple in the "Don't be evil" department.

    2. Re:I am in Xiamen now... by thegarbz · · Score: 1

      Yeah and Tianamen Square results in nothing but pictures of beautiful flowers.

  27. Re: Would using Rust have helped prevent this bug by Anonymous Coward · · Score: 0

    Actually it is YOU, who are wrong. It is a poor craftsman who blames his tools, and a programming language is just a tool. The fact that, if it is indeed even true, that Rust or Ruby or whatever else would hold your hand and prevent you making mistakes means that the language creators are doing part of your job for you. By the same token, you could argue that a lot of car crash fatalities COULD be avoided if all roads had rails going down the center of each lane, and cars were all equipped with massive front and rear bumpers, and only weighed a few hundred pounds, and were limited in speed to about 17 miles per hour, give or take, like the Autopia at goddamned DISNEYLAND. While true, it reduces the utility of cars and largely defeats most of the purpose of having one. All the guardrails and safety features of Rust et al., may make it safer, but they limit the power and flexibility of the code produced with them, and unavoidably the power and efficiency of the programs that ultimately result. Although it may be possible in SOME cases that you can make a program that is just as powerful and efficient in Rust as in C plus plus, it is, I can promise you, not possible in every case. The point of C is that what you are doing, writing source code, is about as close to writing in assembly language as you can get, without actually writing in assembly language, especially in terms of having accessible to you, the programmer, as great a portion of the full spectrum of commands, of ways in which to manipulate data, as it is possible to have given a specific kind of processor or system architecture.

  28. Shame on you Apple by foobar2015 · · Score: 1

    Kneeling before Chinese coomunist and taking away our freedom of speech. Shame on you, rotten Apple

  29. [Pushes glasses up to brow] by Immerial · · Score: 1

    Technically, that works for iPhones too... if you don't set your location to China. Honestly curious, change your location to China on your Android phones and try again. Also what Android versions are you running? This looks like a very recent change in the code base (latest version of iOS). I wonder if China has added some new requirements to phones operating in China and the next version of Android might have this 'requirement' too.

    1. Re:[Pushes glasses up to brow] by Anonymous Coward · · Score: 0

      Technically, that works for iPhones too... if you don't set your location to China. Honestly curious, change your location to China on your Android phones and try again. Also what Android versions are you running? This looks like a very recent change in the code base (latest version of iOS). I wonder if China has added some new requirements to phones operating in China and the next version of Android might have this 'requirement' too.

      Huh? What 'location setting' is there in Android?

      Nothing Google works in China. Google left China, they simply weren't interested in participating under the rules. There will not be any changes to Android, unless the Chinese OEMs themselves patch something in.

    2. Re:[Pushes glasses up to brow] by LynnwoodRooster · · Score: 1

      Nothing about location setting at all... This is using China Mobile. There are no "location specific" settings for Chrome or Android that would change how search returns work. Bing returns Tianamen Square on Wikipedia, Taiwan, and others. Android isn't censoring things...

      --
      Browsing at +1 - no ACs, I ignore their posts. So refreshing!
    3. Re:[Pushes glasses up to brow] by Anonymous Coward · · Score: 0

      What about google search?

    4. Re:[Pushes glasses up to brow] by Anonymous Coward · · Score: 0

      Nothing like being redirected to chinese bing instead of regular bing...

  30. Apple Maps by Anonymous Coward · · Score: 0

    Does Apple Maps still show Taiwan the island or has it too been erased?

    1. Re:Apple Maps by Anonymous Coward · · Score: 0

      Probably; but that has nothing to do with China and everything to do with apple maps being a piece of shit.

  31. Re: Would using Rust have helped prevent this bug by Anonymous Coward · · Score: 0

    It is a poor craftsman who blames his tools, and a programming language is just a tool.

    It is an even a worse craftsman who chooses the wrong tool.

  32. Not a bug, just an entire country by Anonymous Coward · · Score: 0

    The system is working as originally designed. The geopolitical requirement was an afterthought. Use the phone elsewhere, and not on an airline that flies to a country that features some. culinary delights

  33. Re: Would using Rust have helped prevent this bug by Anonymous Coward · · Score: 0

    Only someone as phenomenally ignorant as you would say that a language induces bugs. You probably also believe that guns spontaneously murder people and that trump stole the election.

  34. Dead Wrong by Anonymous Coward · · Score: 0

    Stop talking out your ass, thegarbz! You are conflating the actions of Microsoft with Google.

    https://fox2now.com/2016/11/24/microsofts-chinese-chatbot-wont-talk-about-tiananmen-or-xi-jinping/
    https://www.economist.com/analects/2014/02/12/bings-chinese-enigma

    Here are your beautiful flowers. Google searches show the massacre and the events leading up to it.

    https://www.google.com/search?q=Tiananmen+Square&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi2y-_GoJfcAhXJ3YMKHWT2DVAQ_AUICigB&biw=1600&bih=776

    Google even stood its ground and left China rather than censor content:

    https://www.theatlantic.com/technology/archive/2016/01/why-google-quit-china-and-why-its-heading-back/424482/

  35. Antebellum idiots by Anonymous Coward · · Score: 0

    Displaying Taiwan's flag in mainland China is a bit like flying the Confederate flag in the US. Except people do that all the time and we think pro-slavery rallies to be a point of culture, tradition, and pride.